We are looking for a Software Engineer with a strong product mindset and test-driven development (TDD) background to join our consumer-directed healthcare platform engineering team. You will support and enhance our existing legacy code base while helping to design and build next-generation, cloud-native services.
This role goes beyond writing code for a requirement spec; we need an engineer who understands the business value behind every feature, collaborates closely with product and stakeholders, and takes end-to-end ownership of outcomes. Modern product-minded engineers ask why decisions are made, propose ideas, and build with empathy for users. They contribute to product tradeoffs and actively shape what gets built.
Responsibilities
- Maintain and enhance the existing ASP. NET/C# and SQL Server code base, including researching and debugging stored procedures and TSQL.
- Analyse, design and develop tests and test automation suites to ensure continued functionality during maintenance.
- Document each aspect of the system as a reference for future upgrades and maintenance.
- Collaborate on domain decomposition, domain modelling, and domain-driven design (DDD) for new services.
- Design, implement and deploy microservices in C#/. NET on Azure with RESTful APIs and event-driven patterns.
- Use Azure PaaS services (App Service, Service Bus, SQL Database) and support eventual domain-based databases.
- Ensure interoperability and data consistency between the legacy system and microservices during transition.
- Champion test-driven development and write automated unit, integration and regression tests.
- Leverage AI-assisted tools for code generation, test case generation and documentation.
- Run code reviews, static analysis and refactoring sessions to improve code quality.
- Actively engage with product managers, product owners and business stakeholders to understand
- why features are being built, propose alternative approaches and weigh engineering/product tradeoffs.
- Think beyond the task at hand to deeply understand the purpose and business goals.
- Work cross-functionally with quality assurance, infrastructure, design and operations to deliver coherent solutions.
- Take end-to-end ownership for designing, building and delivering features.
- Understand that it is not done till a customer has received value.
- Provide ongoing maintenance, support and enhancements in existing systems and platforms.
- Communicate progress, raise risks early and drive resolutions.
- Recommend and implement improvements to engineering processes, architecture and performance.
- Stay current on best practices in microservices, cloud engineering and AI in software engineering.
- Mentor peers on test-driven development, DDD and software craftsmanship.
- Deliver business value by shipping features that solve real customer problems and improve user experience; this requires understanding the product context.
- Maintain high quality by championing TDD, writing comprehensive tests and keeping the system stable during modernisation.
- Take ownership of features end-to-end from design to deployment and support, and proactively seek improvements.
- Collaborate effectively with cross-functional teams and communicate clearly with technical and nontechnical stakeholders.
- Help shape the next-generation architecture by contributing domain models, identifying technical debt, and mentoring teammates on microservices and event-driven patterns.
Requirements
- 7+ years of professional software engineering experience at a software product company (building software products sold to businesses or consumers); services/consultancy company backgrounds will only be considered if they involve product engineering in healthcare payments or similar domains.
- Strong test-driven development (TDD) background with demonstrated experience writing unit and integration tests and using test automation suites.
- Proficiency in C#/. NET and database programming, including PL/SQL, with experience working with stored procedures.
- Experience with microservices architecture and event-driven architectures.
- Experience deploying services to Azure or other cloud platforms and with modern DevOps practices (CI/CD pipelines, containerization, infrastructure as code).
- Demonstrated ability to read and understand legacy code (PL/SQL, C#, stored procedures) through code reviews, existing test suites and AI-powered discovery.
- Excellent communication and presentation skills; ability to collaborate across functional areas and translate technical topics into business language.
- Bachelor's or master's degree in computer science, engineering or a related field.
- Experience migrating monolithic applications to microservices using DDD.
- Familiarity with healthcare or payment processing domains.
- Knowledge of event-driven architecture, messaging systems (e.g., Azure Service Bus), and container orchestration (Kubernetes/AKS).
- Experience using generative AI for code generation and documentation.