Principal Software Engineer
Job Summary
ABOUT THE POSITION
A Principal Software Engineer designs builds and maintains integrations and APIs that connect disparate systems. This includes on-premises legacy applications third-party SaaS platforms or cloud-native microservices. Ensures solutions are developed and delivered with quality simplicity reliability and maintainability. Designs modern testable secure solutions in a fast-moving environment. Maintains high standards of code quality and solution delivery.
HOWYOULLMAKE A DIFFERENCE
- Integration Development:
- Build robust REST APIs and middleware using C# and .NET 8/10 (Web API Minimal APIs).
- Build end-to-end integration workflows using Enterprise Integration Patterns (EIP) like Message Queuing Publish/Subscribe and Request/Response.
- Cloud Infrastructure: Provision and manage Azure resources via Infrastructure as Code using Bicep Terraform or ARM templates.
- Data Transformation: Implement complex data mapping and transformation logic (JSON XML Flat File) to ensure seamless communication between systems.
- Observability: Implement comprehensive logging monitoring and alerting strategies using Grafana and Application Insights.
- Mentorship: Participate in code reviews and provides technical guidance and mentorship to mid-level and junior developers.
- Agile Delivery: Deliver solutions in an iterative manner with ambiguous requirements. Contributes to and helps refine the teams backlog.
- Testing: Implements robust unit testing suites that reduce production bugs and streamline the CI/CD pipeline.
YOU ARE
- Languages & Frameworks: C# 8/10 Core IIS GitHub Copilot
- Azure Integration Services: Azure Service Bus (Queues/Topics) Azure Logic Apps Azure Functions (Serverless) API Management (APIM).
- Data & Storage: Cosmos DB Azure Blob Storage Key Vault
- DevOps & CI/CD: Azure DevOps and GitHub Actions
- Standards and Practices: REST APIs Clean Code Agile Delivery
- Unit Testing: MSTest XUnit or NUnit
Key Competencies
Distributed System Troubleshooting: The ability to trace a failed message across multiple cloud hosted resources and identify bottlenecks or dead-letter causes.
Performance Optimization: code for high-throughput and managing Azure scaling rules to balance performance with cost.
Resiliency Patterns: Developing fault-tolerant decoupled systems by implementing robust patterns like Circuit Breakers automated retries and Dead Letter Queues.
Key Competencies
Distributed System Troubleshooting: The ability to trace a failed message across multiple cloud hosted resources and identify bottlenecks or dead-letter causes.
Performance Optimization: code for high-throughput and managing Azure scaling rules to balance performance with cost.
Resiliency Patterns: Developing fault-tolerant decoupled systems by implementing robust patterns like Circuit Breakers automated retries and Dead Letter Queues.
YOU HAVE
- Education: Bachelors degree in Computer Science or a related field.
- Experience:
- 10 years of professional software engineering experience with at least 5 years focused specifically on Azure-based integrations and C#.
- 5 years agile delivery experience and familiarity with Jira SCRUM and Kanban.
- 8 years of remote collaboration experience across time zones.
- Exposure to wholesale and/or retail solutions preferred
- Experience in design and development of an Enterprise CI/CD process
#LI-SA1
#Hybrid
This job description is not meant to be an all-inclusive list of duties and responsibilities but constitutes a general definition of the positions scope and function in the company.
Required Experience:
Staff IC
Key Skills
About Company
Founded in 1938, Columbia brand apparel, footwear, accessories, equipment, and employees have earned a global reputation for innovation, quality and performance, keeping activity enthusiasts and explorers in more than 100 countries, warm, dry, cool and protected year-round. Columbia S ... View more