Required Skills
About the Job
As a Principal Software Engineer at Mastercam, you will lead and contribute to the development of cutting-edge software solutions within an Agile/Scrum team environment. You will proactively take ownership of user stories and defects, accurately estimating and detailing tasks, and applying modern development practices to complex projects within our extensive codebases. This role involves tackling challenging, cross-team systems and delivering innovative solutions that address global manufacturing needs. You will act as a CAD domain expert, define high-level architecture, and maintain a system-wide approach to development. Continuously expanding your expertise as an industry-leading professional in multiple core areas of Mastercam's products is essential. You will mentor other developers, promote best coding practices, and drive the delivery of high-quality, well-designed software.
**Key Responsibilities:**
- Design, develop, and test software to resolve defects and implement user stories.
- Serve as a CAD domain expert and contribute to high-level architecture definitions.
- Proactively contribute to story and defect breakdown, sizing, and detailing.
- Lead and actively participate in planning meetings.
- Collaborate with other developers and teams on large-scale projects.
- Communicate project status and pertinent details to stakeholders.
- Mentor junior developers and conduct peer reviews to ensure software quality.
- Promote and implement modern development practices and technologies.
**Required Qualifications:**
- Master's Degree or higher in Computer Science, Mathematics, or Engineering, or equivalent experience.
- 15+ years of experience in developing commercial applications software using C# or C++.
- 15+ years of experience in a relevant domain area for the target scrum team.
- Expert level experience with modeling kernels such as Parasolid.
- Expert level development experience for Microsoft Windows using Visual Studio.
- Expert knowledge of source control, peer reviews, and unit testing.
- Proven, in-depth experience with agile software development.
- Expert understanding of object-oriented development.
- Demonstrated ability to drive complex and large-scaled projects to completion.
- Excellent ability to design and implement large-scale software projects.
*Note: Candidates must be located in the USA, France, Pune (India), or Switzerland.*