Software Developer
Summary
Develops .NET/C# software for regulated medical-device systems, writing automated tests and collaborating in Agile teams to deliver compliant, high-quality solutions.
Responsibilities
- Build Innovative Software
- Design, develop, and maintain high-quality software solutions using .NET and C#.
- Collaborate Across Teams
- Work closely with developers, testers, architects, product owners, and domain experts to translate ideas and requirements into robust software solutions.
- Solve Meaningful Technical Challenges
- Contribute to technical discussions and help drive decisions around architecture, maintainability, performance, scalability, and software quality.
- Deliver Quality by Design
- Apply engineering best practices, automated testing, and continuous integration approaches to ensure reliable, maintainable, and well-tested software.
- Grow and Improve
- Continuously learn new technologies, contribute ideas, and help improve our products, engineering practices, and development processes.
Requirements
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
- Professional experience in software development
- Strong knowledge of .NET and C#
- Understanding of software design and architecture principles (SOLID, MVVM, DDD, design patterns)
- Experience with source control and DevOps practices (Git, Azure DevOps, CI/CD)
- Experience with automated testing, unit testing, and Fluent Assertions
- Strong problem-solving and communication skills
- Nice to Have: WPF or .NET MAUI development
- Behavior-Driven Development (BDD)
- Experience in Agile environments (Scrum, Kanban)
- Experience developing software that interfaces with medical devices, embedded systems, or regulated software environments
- Knowledge of test automation and mutation testing
Core Competencies
Demonstrates expertise in .NET and C# software development, applying engineering best practices and automated testing to deliver high-quality software solutions. Collaborates effectively across teams in Agile environments to solve complex technical challenges and improve engineering processes.