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: Starting at $180k+
This job description is not all inclusive and is intended to capture a majority of the job functions. Special projects and other tasks may be required by management.