General Summary
We are seeking a highly experienced Principal Software Engineer to join our dynamic team. The ideal candidate will possess a solid understanding of software architecture patterns and principles, along with extensive experience in web, mobile and service development. Proficiency in C# is a must, coupled with experience with modern front-end and server-side technologies. They will work closely with the development team and software architect to shape and implement the vision for future development, collaborating with stakeholders as required.
Primary Responsibilities
- Provide technical leadership for the design, implementation and maintenance of complex software systems across the connected device ecosystem.
- Define and evolve a vision of scalable, reliable, secure and maintainable software solutions.
- Create and maintain software architecture and design documentation, including design controls and traceability records for regulated products.
- Identify opportunities for optimization in terms of performance, cost, reliability and resource utilization.
- Deliver hands-on development of responsive, user-friendly web applications, services and APIs.
- Collaborate with UX/UI designers to translate designs and wireframes into high-quality, accessible code.
- Drive engineering standards, code quality and secure coding practices across teams, and lead code reviews.
- Champion secure-by-design and threat modeling across products, and govern software supply chain integrity through dependency management, SBOMs and vulnerability response.
- Guide the adoption of AI-enabled and agentic capabilities, defining evaluation, guardrail and human-in-the-loop practices appropriate to regulated products.
- Mentor engineers and technical leads, and provide documentation and guidance to assist onboarding.
- Stay up to date with emerging trends in web, application and AI development.
Knowledge/Educational Requirements
- Bachelor's degree in Computer Science, Software Engineering or a related field, or equivalent experience.
- 8+ years of experience in software engineering.
- 3+ years of experience in development for medical devices (ISO 14971/13485/62304 compliance).
- Solid understanding of software development lifecycle models, including Agile delivery and stage-gate design controls.
- Ability to communicate technical concepts and solution proposals at varying levels of detail.
- Effective interpersonal skills including mentoring, coaching, collaborating and team building.
- Knowledge of web and mobile application development and modern front-end technologies and frameworks.
- Experience developing solutions using C#/.NET and HTML/CSS/JS or TypeScript.
- Extensive knowledge of object-oriented programming, software engineering patterns and distributed system design.
- Strong understanding of cybersecurity requirements and considerations, including the Secure SDLC, threat modeling, OWASP ASVS, IEC 81001-5-1 and medical device cybersecurity regulatory guidance.
- Understanding of agentic AI development practices, including tool orchestration, retrieval, guardrails, evaluation, model and prompt versioning, and applicable governance frameworks such as ISO/IEC 42001 and the NIST AI Risk Management Framework.
- Experience with embedded or firmware development, including C/C++, RTOS, device communication protocols and hardware-in-the-loop testing.
- Experience with unit testing frameworks (e.g. NUnit, MSTest or similar) and quality gates in CI/CD.
- Excellent problem-solving skills and a proactive attitude in tackling development challenges.
- Strong analytical, planning and organizational skills with an ability to manage competing demands.
- Proven ability to partner with technical leaders and product owners on software development projects and ensure objectives, goals and commitments are met.
- Knowledge of modern UI/UX design principles and accessibility standards.
- Experience with cloud platforms such as Azure, AWS or Google Cloud, containerization, Infrastructure as Code and CI/CD pipelines.
- Exposure to embedded or firmware development (C/C++, RTOS, device communication protocols) and hardware-in-the-loop testing.
Salary: 180k-200k+