At CNC Software, Inc., our mission is to create software and services that solve the world’s manufacturing challenges. Our software, Mastercam, developed and supported by our talented team, is the most widely used CAM software in the world. Headquartered in Tolland, CT, we are a culture that embraces remote work, with close to fifty percent of our team working from their home office in the United States as well as in offices in Switzerland and China. As the industry leader, we strive to innovate, and we partner with our resellers and customers to make the impossible, well, possible.
As a privately held, family-owned business, our culture is shaped by our concern and care for each other and our community. Our work environment reflects this care, with exceptional benefits and services you would expect of an industry leader [on-site fitness center, walking paths, employee gardens, bicycle shop, kitchen facilities] which are supported by geothermal heating/cooling and solar arrays which power the majority of our utility consumption. As a Greater Hartford Top Workplace, our focus has always been on creating a workplace that embodies the family-friendly values we hold, and which, well, doesn’t feel like “work”, but more like a place that you want to be. If you have a passion for your work, an inquisitive nature, and a pride in exceeding the expectations others have set for you –then CNC may just be the place you have been looking for.
Position Overview:
CNC Software is looking for a Software Engineer to join our Turning team. This team is responsible for ongoing development of systems which generate toolpath motion for a wide range of turning, mill-turn, and swiss style machines. These systems include job setup, tool loading, and workflow strategies. The team works closely with other teams, especially those providing machine tool kinematics, NC code generation engines, and virtual machine simulation environments. Project work is varied and focused on building new capabilities for Mastercam, the world’s most popular CAD/CAM system. New development is proven in our in-house Machine lab, which features many state-of-the-art machine tools, so there is the opportunity to see your work used in a real-world environment. Good teamwork is key to our team’s success.
As a member of our turning toolpath team, you will be responsible for taking ownership of user stories and defects prioritized by the team’s Product Owner. You will participate in planning meetings related to your areas of expertise. You will work with your team to correctly size and accurately detail stories and defects. You will use modern development practices to tackle complex projects in large codebases.
To succeed in this role, you will need to have a strong understanding of software engineering best practices, including design patterns and the SOLID and DRY principles. You will need to be comfortable diving into a large, legacy codebase and making changes to streamline, improve, and to add on existing processes.
Essential Duties &Responsibilities:
- Design, develop, and test software to resolve defects and implement user stories prioritized by the team’s Product Owner.
- Work with team in writing, correctly sizing, and accurately detailing and breaking down stories and defects.
- Maintain and update existing codebase.
- Communicate project status regularly with all necessary stakeholders.
- Actively participate in planning meetings related to assigned areas.
- Coordinate with other developers to decide how best to implement changes requested by the team’s Product Owner.
- Conduct peer reviews.
- Utilize modern development practices to solve complex problems related to the team’s domain.
- Continuously work to develop and maintain a deep expertise in your team’s area of responsibility.
- Share knowledge and assist in the growth of Software Engineer I’s.
Minimum Requirements &Qualifications:
- 4-5 years’experience in developing commercial applications in C# or C++.
- Bachelor’s Degree or higher in Computer Science, Mathematics, or Engineering, or equivalent experience.
- Strong math skills related to computational geometry.
- Strong understanding of object-oriented development.
- Experience developing for Microsoft Windows using Visual Studio.
- Experience with standard software development practices such as source control, peer reviews, and unit testing.
- Experience with agile software development.
- Team player who can clearly communicate with both technical and non-technical co-workers.
- Strong ability to design and implement large-scale software projects.
It’s a Plus If:
- You have experience in software development with CAM software, especially with toolpath generation.
- You have experience with CNC machining.
- You are familiar with design patterns and the C++ standard library.
- You have experience writing multithreaded applications.
CNC Software, Inc. is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, religion, creed, color, national origin, alienage or citizenship status, sex, sexual orientation, gender identity or expression, transgendered status, partnership status, caregiver status, age, ancestry, physical, intellectual, learning or mental disability, pregnancy, childbirth or related condition, genetic information, medical condition including medical characteristics, marital or civil union status, familial status, veteran or military status , use of tobacco or other lawful products off premises and during non-working hours, or any other classification protected by applicable local, state or federal laws.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.