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.
CNC Software, Inc. is looking for a Sr. Software Architect to join our machine systems team. This team is responsible for providing a flexible foundation to define different machines and controls for CNC machines, and to handle post processing for the toolpath data.
As a Senior Software Architect, you will split your time between developing software on your team and working with cross-team groups to address product-wide issues and practices. Most of your time will be spent as a senior developer on your team, tackling complex, high-impact projects that drive your team’s work forward.
You will be responsible for developing solutions to significant, product-wide challenges. You will work across teams to implement these solutions. You will stay up to date with the latest developments in software engineering and with the changes in C++, C#, or both.
In addition to the work on your team, you will work as a member of the Architecture Team to identify and prioritize issues that need to be addressed across teams. These issues include the development of libraries used company-wide, the creation of patterns for implementing features, and the development of best practices. After these issues are identified, you will serve on a cross-team working group that is tasked with designing a solution, receiving buy-in from the larger architecture team, and then implementing that solution.
Essential Duties & Responsibilities:
- Design, develop, and test software to resolve critical defects and implement complex user stories
- Meet weekly with the Architect Team to identify and prioritize cross-team issues and approve proposed solutions
- Chair or contribute to a working group charged with developing a solution to large-scale, cross-team issues
- Identify projects within your team that should be brought to the Architecture Team for wider review issue
- Coordinate with other developers to ensure the success of large-scale team projects
- Communicate project status regularly with all necessary stakeholders
- Assist in writing, sizing, and breaking down user stories and defects
- Conduct peer reviews
- Evaluate and recommend tools, technologies, and processes for software development
- Mentor other developers to help build their software engineering expertise
Minimum Requirements & Qualifications:
- Bachelor’s Degree or higher in Computer Science, Mathematics, or Engineering or equivalent experience
- 10-14 years’ experience in developing commercial applications in C# or C++ and working with large codebases
- Experience developing for Microsoft Windows using Visual Studio
- Experience with standard software development practices such as source control, peer reviews & unit testing
- Experience with agile software development and strong understanding of object-oriented development
- Strong knowledge of software development concepts such as design patterns and code smells
- Team player who can clearly communicate with both technical and non-technical co-workers
- Strong ability to design and implement large-scale software projects and drive them to completion
- A track record of delivering well-designed, high-quality software
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.