About The Position
A Senior 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.
How You'll Make 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.
- Teamwork: Participate in code reviews and provide technical guidance and mentorship to junior developers.
- Agile Delivery: Deliver solutions in an iterative manner with ambiguous requirements. Contributes to and helps refine the team's backlog.
- Testing: Implements robust unit testing suites that reduce production bugs and streamline the CI/CD pipeline.
Soft Skills
- Superior communication skills
- Ability to work and collaborate with cross functional teams, and manage partner expectations
- Willingness to work modified hours
- Expertise in remote asynchronous collaboration
- Excellent project and time management skills
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: Tuning .NET 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 ARE
- Bachelor's degree in Computer Science or a related field.
- 5-8 years of professional software engineering experience, with at least 3 years focused specifically on Azure-based integrations and C#.
- 3+ years agile delivery experience and familiarity with Jira, SCRUM and Kanban.
- 5+ 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
YOU HAVE
- Languages & Frameworks: C#, Blazor, .NET 8/10, ASP.NET 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
#Hybrid
This job description is not meant to be an all-inclusive list of duties and responsibilities, but constitutes a general definition of the position's scope and function in the company.