Note: The job is a remote job and is open to candidates in USA. Mastercam develops software for digital manufacturing and precision machining. The company is seeking a mathematically inclined Senior Software Engineer to develop and optimize toolpath algorithms that efficiently drive milling machines, while applying computational geometry, data-parallel programming, and software development practices.
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
Skills
- To succeed in this role, you will need to be a gifted mathematician with a love of solving complex problems and an innate hatred of inefficiency
- You have a knack for crafting algorithms to wring the most performance out of hardware
- You have a drive to constantly improve your software development skills, and possess a passion for clean, clearly documented code
- You take the initiative and can communicate well with both technical and non-technical coworkers
- • 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
- • Bachelor's Degree in Computer Science, Mathematics, or Engineering
- • 10-14 years of experience building commercial software in either C# or C++
- • 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
Company Overview
Company H1B Sponsorship