> Markdown version of [/jobs/ext/2148625-sr-software-engineer](https://www.wearedevelopers.com/jobs/ext/2148625-sr-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Sr. Software Engineer - **Company:** Cnc Software Inc - **Location:** New York, NY, United States - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Unit Testing, C Sharp (Programming Language), C++ (Programming Language), Computer Programming, Software Design Patterns, General-Purpose Computing on Graphics Processing Units, Integrated Development Environments, Object-Oriented Software Development, Commercial Software, Scrum Methodology, Systems Development Life Cycle, Computational Geometry, Software Engineering, Parallel Computation, Information Technology, Functional Programming, Software Version Control, Mastercam - **Published:** August 20, 2026 - **Apply:** https://www.jofdav.com/jobs/59325452-sr-software-engineer ## About the Role Mastercam is looking for a mathematically inclined Software Engineer to join our toolpath systems development team. This team develops algorithms to efficiently drive milling machines as they cut out precision parts. As a member of a toolpath development team, you will have the opportunity to improve the thing our customers care about the most - the efficiency and quality of our toolpath motion. You will be able to bring a wide range of skills to bear on interesting mathematical problems involving large sets of data. 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. 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, * Bachelor's Degree in Computer Science, Mathematics, or Engineering * 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 * 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 ## Related Videos - [What craftsmanship is all about](https://www.wearedevelopers.com/videos/2006-what-craftsmanship-is-all-about) - [Are you still programming unit tests or already generating?](https://www.wearedevelopers.com/videos/722-are-you-still-programming-unit-tests-or-already-generating) - [Coffee with Developers - Cassidy Williams - ](https://www.wearedevelopers.com/videos/912-coffee-with-developers-cassidy-williams) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [How Unit Testing Saved My Career](https://www.wearedevelopers.com/videos/1642-how-unit-testing-saved-my-career) - [Systems Thinking for Performance: How to Diagnose and Fix Slow Systems without Guessing](https://www.wearedevelopers.com/videos/2103-systems-thinking-for-performance-how-to-diagnose-and-fix-slow-systems-without-guessing) ## Related Articles - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [The 10 C++ programming questions to expect in an interview](https://www.wearedevelopers.com/magazine/50-the-10-c-programming-questions-to-expect-in-an-interview) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [Quick guide: How to write a Software Developer CV](https://www.wearedevelopers.com/magazine/37-quick-guide-how-to-write-a-software-developer-cv)