Mastercam is looking for a mathematically inclined Software Engineer to join their toolpath systems development team. The role involves developing algorithms to enhance the efficiency and quality of toolpath motion for milling machines.
Responsibilities:
- Strong understanding of the tradeoffs between Object Oriented and Functional Programming
- Experience with Data-Parallel Programming
- 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
- Comfortable with standard software development practices such as source control, peer reviews, and unit testing
- Able to clearly communicate with both technical and non-technical coworkers
- Demonstrates a collaborative mindset, treating knowledge as a shared, communal resource
Requirements:
- Bachelor's Degree in Computer Science, Mathematics, or Engineering
- 10-14 years of experience building commercial software in either C# or C++
- Strong understanding of the tradeoffs between Object Oriented and Functional Programming
- Experience with Data-Parallel Programming
- 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
- Comfortable with standard software development practices such as source control, peer reviews, and unit testing
- Able to clearly communicate with both technical and non-technical coworkers
- Demonstrates a collaborative mindset, treating knowledge as a shared, communal resource
- 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
- Experience with Computational Physics algorithms
- 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