Senior Software Engineer
Mastercam · United States · Yesterday
RemoteRemoteDesignFull-time
How You’ll Drive Success
- Programming & Architecture Expertise
- Strong understanding of the tradeoffs between Object Oriented and Functional Programming.
- Experience with Data-Parallel Programming.
- Mathematical & Computational Foundations
- Strong handle on Linear Algebra and Computational Geometry.
- Strong experience with Mesh and Voxel Mesh generation and optimization.
- Familiar with iterative computational techniques, such as the Conjugant Gradient Method.
- Software Development Practices
- Comfortable with standard software development practices such as source control, peer reviews, and unit testing.
- Communication & Collaboration
- Able to clearly communicate with both technical and non-technical coworkers.
- Demonstrates a collaborative mindset, treating knowledge as a shared, communal resource.
The Talents We’re Seeking
- Education
- Bachelor’s Degree in Computer Science, Mathematics, or Engineering.
- Experience
- 10-14 years of experience building commercial software in either C# or C++.
- Preferred Skills
- Worked in an agile (Scrum, Kanban) software development environment before.
- Experience with CNC machining.
- Experience writing GPGPU or SIMD code.
- Familiar with Parallel C++ Design Patterns and the C++ Standard Library.
- Knowledge of 3/5-axis machining algorithms for roughing and finishing.
- Experience with Volumetric and Surface Mesh Processing.
- Experience with FEM as applied to physics-based machining.
- Graduate degree in Computer Science, Mathematics, or Engineering.
About the Role
Mastercam is seeking a Software Engineer to join our toolpath systems development team. This team develops algorithms to efficiently drive milling machines as they cut out precision parts. The ideal candidate will have a strong background in mathematics and programming, with experience in mesh and voxel mesh generation and optimization, iterative computational techniques, and parallel programming.