Align Technology
Posted Today
Sr. C++ Software Engineer
EMEA-Armenia-YerevanOn-siteFull-time
AI Summary
This position is ideal for experienced C++ engineers to join our team in developing and improving algorithms for automated treatment planning software for our Invisalign products.
About this role
This position is ideal for experienced C++ engineers to join our team in developing and improving algorithms for automated treatment planning software for our Invisalign products. You will join a team responsible for the full end-to-end treatment journey from the initial consultation to the final stages of care, continuously improving the quality and experience for both doctors and patients through the Smile Architect platform enabling orthodontic and restorative, comprehensive, minimally invasive treatments with advanced visualisation. As a Sr. Software Engineer, you will participate in end-to-end software development, solving open-ended problems and implementing complex algorithms in high quality modern C++ code in a regulated environment.
Key Responsibilities
- Work in an agile team of developers and SQAs and collaborate with other development teams.
- Interact closely with clinical experts, project managers, and product owners, to understand problems, analyse specifications, formalize functional requirements, and prepare and deliver technical presentations and demos.
- Research and develop new features and create prototypes and proofs of concept.
- Participate in architectural design and project planning, design and sizing, and code and design reviews.
- Investigate and implement bug fixes and identify opportunities for code refactoring and reliability and performance improvements.
- Write high quality idiomatic C++17 code with full test coverage.
- Write technical documentation for newly implemented functionality.
- Follow architectural, quality, and regulatory guidelines for medical device software development, demonstrate technical leadership, assist and mentor other developers, and uphold high standards of trust, responsibility, and professionalism.
- Identify/mitigate risks and participate in production monitoring and support as needed.
Skills, Knowledge & Expertise
- Education: Bachelor’s or Master’s degree in Computer Science, Applied Mathematics, or related field.
- Experience:
o 8+ years of professional experience in similar positions, developing enterprise / commercial software, preferably in agile SDLC.
o 5+ years of practical experience and excellent knowledge of modern C++ development (C++17 and above)
- Skills:
o Solid foundation in mathematics, especially linear algebra and geometry
o Strong proficiency in C++ (17 or newer) and STL
o Knowledge of Python.
o Working knowledge and experience with MS Visual studio, git, and a unit testing framework.
- Highly motivated, creative, self-starter, with excellent organizational, communication and interpersonal skills and a “can do” attitude.
- Ability to work on open-ended research problems.
Complementary skills
- Mathematical background, and knowledge of optimization methods, linear algebra, analytical geometry, and/or 3D graphics on a university level.
- Experience working in highly regulated industries (such as Banking, Financial, Healthcare, Medical Devices, Aerospace, etc.)
- Experience in CI/CD pipelines and knowledge of tools, methodologies, and frameworks for automatic software testing and monitoring.
- Experience in Linux, cross-platform, and cloud-based (AWS) software development