Sr. C++ Software Developer
Apply NowCompany: Align Technology, Inc
Location: Toronto, ON M4E 3Y1
Description:
Sr. C++ Software Developer
Department: Research & Development
Employment Type: Full Time
Location: Canada-CHQ-Ontario-Toronto
Description
This position is ideal for senior software development professionals to join the Treatment Planning FiPos Toronto team as a Sr. C++ Software Developer, leading the development of new software features in both new and existing orthodontic software solutions. You will work in close collaboration with colleagues from a larger Treatment Planning group and with clinical experts. You will focus on algorithmic and mathematical solutions for orthodontic problems, and you will integrate those into new and existing business flows. You will lead end-to-end software development, solving open-ended problems and implementing complex algorithms in high-quality modern C++ code in a regulated environment. This role is vital in delivering the technology that powers Align Technology to deliver superior treatment outcomes and experiences to patients.
Role Expectations
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, analyze specifications, formalize functional requirements, and prepare and deliver technical presentations and demos.
Research and develop new features, creating prototypes and proofs of concepts and evaluating their viability with data analysis.
Participate in architectural design and project planning, design and sizing (estimation), and code and design reviews.
Investigate and implement bug fixes. Perform root cause analysis. Identify opportunities for code refactoring and reliability and performance improvements.
Write high-quality idiomatic C++17 code with full test coverage, and delivery to production.
Write technical documentation for newly implemented functionality, and present technical solutions to a wide audience of peers and subject matter experts.
What we're looking for
Complementary skills
Department: Research & Development
Employment Type: Full Time
Location: Canada-CHQ-Ontario-Toronto
Description
This position is ideal for senior software development professionals to join the Treatment Planning FiPos Toronto team as a Sr. C++ Software Developer, leading the development of new software features in both new and existing orthodontic software solutions. You will work in close collaboration with colleagues from a larger Treatment Planning group and with clinical experts. You will focus on algorithmic and mathematical solutions for orthodontic problems, and you will integrate those into new and existing business flows. You will lead end-to-end software development, solving open-ended problems and implementing complex algorithms in high-quality modern C++ code in a regulated environment. This role is vital in delivering the technology that powers Align Technology to deliver superior treatment outcomes and experiences to patients.
Role Expectations
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, analyze specifications, formalize functional requirements, and prepare and deliver technical presentations and demos.
Research and develop new features, creating prototypes and proofs of concepts and evaluating their viability with data analysis.
Participate in architectural design and project planning, design and sizing (estimation), and code and design reviews.
Investigate and implement bug fixes. Perform root cause analysis. Identify opportunities for code refactoring and reliability and performance improvements.
Write high-quality idiomatic C++17 code with full test coverage, and delivery to production.
Write technical documentation for newly implemented functionality, and present technical solutions to a wide audience of peers and subject matter experts.
What we're looking for
- Education: Bachelor or above degree in Computer Science, Mathematics or related field, or Equivalent experience in commercial software development.
- Experience: 8 years of professional experience in similar positions, developing enterprise / commercial software, preferably in agile SDLC.
- Skills: 5+ years of practical experience and excellent knowledge of modern C++ development (C++17 and above).
- Skills: Strong knowledge and experience with MS Visual Studio (/ VS Code), git, and a unit testing framework.
- Skills: Mathematical background and knowledge of optimization methods, linear algebra, 3D / analytical geometry
- Communication: Strong presentation and communications skills
- Teamwork: Ability to work both independently and collaboratively. Ability to lead and mentor peers.
- Personality: Highly motivated, creative, self-starter, with excellent organizational, communication and interpersonal skills and a "can do" attitude. Thrives in a high-paced, multi-task environment.
Complementary skills
- Experience with 3D graphics development in industry and/or university level, eg: Computer Aided Design (CAD), video game engine, physics simulation
- 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.
- Experience in Linux, cross-platform, and cloud-based (AWS) software development.
- Familiarity with other languages including Python, C# which are used for prototyping, data analysis, or integration of C++ software