CNC Software, Inc company's all remote jobs
Our mission is to create software and services that solve the world’s manufacturing challenges. Our software, Mastercam, is the most widely used CAM software in the world. Headquartered in Tolland, CT, we are a culture that embraces remote work, with a growing global team spanning three continents: Asia, Europe, and North America. As the industry leader, we strive to innovate, and we partner with our resellers and customers to make the impossible, well, possible.
Being one of the oldest companies in the PC-based CAD/CAM industry, our longevity is fueled by our culture of caring for each other and our community. Our work environment reflects this care, with exceptional benefits and services you would expect of an industry leader. As a Greater Hartford Top Workplace, our focus has always been on creating a workplace that embodies the 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 Mastercam may just be the place you have been looking for.
Position Overview:
CNC Software is looking for a Software Engineer 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 member of our machine systems 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
- Propose and implement designs for large-scale projects within the scrum team
- 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
Who You Are:
- You have a Bachelor’s Degree in Computer Science, Mathematics, or Engineering or equivalent experience
- You have 6-9 years’ experience in developing commercial applications in C++
- You have experience with agile software development & strong understanding of object-oriented development
- You have previous experience developing for Microsoft Windows using Visual Studio
- You have experience with standard software development practices such as source control, peer reviews & unit testing
- You have a strong ability to design and implement large-scale software projects
It’s a Plus If:
- You have experience with C# and WPF
- You have experience in software development with CAD/CAM software
- You have knowledge of kinematics and 3D transformations
- You are familiar with design patterns and the C++ standard library
- You have experience writing multithreaded applications
CNC Software, LLC 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.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
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:
- Act as lead on large-scale projects within the team, ensuring clean and correct integration, driving to completion.
- 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.
- Mentor other developers to help build their software engineering expertise.
Minimum Requirements & Qualifications:
- 6-9 years’ experience in developing commercial applications in 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.
- Familiar with design patterns and the C++ standard library.
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 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.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time
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.
Time zone: (GMT-05:00) Eastern Time
Position Overview:
The Software Engineer II role is a mid-level position responsible for creating automated tests, including end-to-end and integration tests. Our team maintains a lot of legacy code that brought our business to where it is today, but we recognize that our future success requires investments in automated testing. The test harnesses you create will be laying the foundation for future upgrades, refactorings, and replacement technologies.
About our Department:
The Business Systems department is responsible for various operational business applications written mainly in C#, ASP.NET, and JavaScript (AngularJs/Vue) and backed by an MSSQL (Entity Framework) database. We have an automated CI/CD pipeline that deploys everything to Azure with a single click.
We also have two older yet critical ASP.NET WebForms applications. Your priority will be creating automated tests for these applications to support future refactorings, as well as to stabilize and prevent regressions. Our legacy applications are the backbone of our company operations but were written when automated testing wasn’t standard. This position will be challenging but equally rewarding for the right person.
CNC Software is a mature company, and Business Systems is a seasoned department. We are not a startup rushing from feature to feature. We don’t believe in unrealistic deadlines, emails won’t flood your inbox during the weekend, and we love it when everybody shuts down their laptop to enjoy their passions after a good day's work.
Our Agile processes are mature and streamlined. We keep unplanned work to an absolute minimum. Yes, we have meetings, but we try and keep them as short as possible. We optimize around giving developers as much focused time to code as possible.
Essential Duties & Responsibilities:
- Be a pro-active, team player who thrives working within a team of developers and testers to preserve the value of legacy systems.
- Design, develop and execute automated test harnesses around backend APIs & front-end user interfaces.
- Apply modern development techniques to create maintainable automated solutions and write unit and integration tests for new and existing code to ensure compatibility and stability.
- Participate in a well-defined, flexible SCRUM process and proactively contribute to the estimation and planning process, demonstrating your analyzing and planning skills.
- Keep your skills up-to-date and learn new technologies with time for exploration and discovery time baked into every sprint cycle.
Minimum Requirements & Qualifications:
- 4+ years of experience with writing web applications with ASP.NET, C#, and JavaScript.
- Bachelor’s Degree in Computer Science, Engineering or related discipline or equivalent experience.
- Experience developing integration and end-to-end tests. We have experimented with Postman tests and have existing Selenium tests but are open to other frameworks.
- Strong verbal and written communication skills, as well as the ability to multi-task and work within the team. We are professionals through and through, but everything is easier when we are all committed to meeting deadlines and quality standards.
- You should be familiar with sprint-based Agile processes and be eager to participate in a mature and seasoned agile/scrum methodology.
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.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time
Position Overview:
CNC Software, Inc. is looking for a Software Engineer to join our UX development team. This team develops, maintains, and integrates various aspects of the user interface. This team aims to deliver a consistent, standardized, and localizable UI that unites our innovative CAD/CAM software to achieve a desirable user experience.
As a member of our UX development team, you’ll be working on UI frameworks and services that allow our users to accomplish their tasks in the most efficient, effective, and enjoyable way possible. You’ll be able to bring a wide range of skills to bear on interesting software engineering projects at the intersection of multiple parts of the product.
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 be comfortable doing exploratory debugging to track down issues involving the interaction of numerous systems. You have a drive to constantly improve your software development skills, and will have a passion for clean, well-written code. In addition to strong development skills, you’ll be a proactive self-starter who can communicate well with both technical and non-technical coworkers.
Who you are:
- You have 6+ years of experience building commercial software in either C# or C++
- You have 6+ years of experience in UI creation in WPF/XAML/MVVM
- You have experience in UI automation / automated testing
- You have experience in software localization
- You have a strong understanding of object-oriented development
- You are comfortable with standard software development practices such as source control, peer reviews, and unit testing
- You have experience working on large object-oriented codebases
- You can clearly communicate with both technical and non-technical coworkers
- You have a Bachelor’s Degree in Computer Science, Mathematics, or Engineering
It’s a plus if:
- You’re familiar with C++ design patterns and the C++ standard library
- You’ve worked in an agile (Scrum, Kanban) software development environment before
CNC Software, Inc. is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time
Position Overview:
CNC Software is looking for a Software Engineer to join our CAD development team. This team develops, maintains and improves CAD tools to enable our users to model and modify complex parts.
As a member of our CAD team, you’ll be working on of the first areas of the product our customers use – our CAD modeling and manipulation tools. You’ll have the opportunity to work on a highly interactive and visual part of our product. You’ll be able use both software engineering and geometry to improve our product and immediately interact with and see the results.
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’ll need to be comfortable with geometry, and with working with multiple programming languages. You have a drive to constantly improve your software development skills, and will have a passion for clean, well-written code. In addition to strong development skills, you’ll be a proactive self-starter who can communicate well with both technical and non-technical coworkers.
Who you are:
- You have 4-5 years of experience building commercial software in either C# or C++
- You have a Bachelor’s Degree in Computer Science, Mathematics, or Engineering or equivalent experience
- You have a strong understanding of object-oriented development
- You have experience with solid modeling kernels such as Parasolid
- You are comfortable with standard software development practices such as source control, peer reviews, and unit testing
- You have a strong handle on linear algebra and computational geometry
- You can clearly communicate with both technical and non-technical coworkers
It’s a plus if:
- You’ve worked in an agile (Scrum, Kanban) software development environment before
- You have experience with CNC machining
- You have experience writing multithreaded applications
- You’re familiar with C++ design patterns and the C++ standard library
- You have experience with computer graphics development
CNC Software, Inc. is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time
Position Overview:
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 age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time
Position Overview:
CNC Software is looking for a Software Engineer 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 member of our machine systems 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
- Propose and implement designs for large-scale projects within the scrum team
- 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
Who You Are:
- You have a Bachelor’s Degree in Computer Science, Mathematics, or Engineering or equivalent experience
- You have 6-9 years’ experience in developing commercial applications in C++ or C#
- You have experience with agile software development & strong understanding of object-oriented development
- You have previous experience developing for Microsoft Windows using Visual Studio
- You have experience with standard software development practices such as source control, peer reviews & unit testing
- You have a strong ability to design and implement large-scale software projects
It’s a Plus If:
- You’re familiar with parsing engines or interpreters
- You have experience in software development with CAM software, especially with post processing
- You have experience with CNC machining, especially dealing with NC code and machine environments
- You have knowledge of kinematics and 3D transformations
- 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 age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
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 DevOps team. This team is responsible for designing, building, and maintaining our build, deployment, and testing pipelines.
As a member of our DevOps team, you’ll work to ensure that our build, deployment, and testing infrastructure is fast, reliable, and maintainable. You’ll be responsible for building systems using a diverse range of systems and technologies, and you’ll ensure that these systems interact efficiently and reliability.
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 be very familiar with the tools and techniques used to build and deploy Windows desktop software. You will need to be comfortable diving into a large, legacy codebase and making changes to streamline and improve processes used to build and deploy our products. You’ll have a strong sense on how to automate manual processes, and have a proven ability to connect disparate sources of data to create a whole picture.
Who You Are:
- You have 4+ years of experience building commercial software.
- You have a Bachelor’s Degree or higher in Computer Science, Mathematics, or Engineering, or equivalent experience.
- You are comfortable with object-oriented programming in a .NET language.
- You have previous experience with the tools and techniques used to build and deploy Windows desktop software.
- You have previous experience with continuous integration tools such as Jenkins or Azure DevOps.
- You have experience using and administering Git.
- You have a proven track record of automating manual processes.
- You are comfortable with automated testing frameworks.
- You are familiar with standard software development practices such as peer reviews and unit testing.
- You can clearly communicate with both technical and non-technical coworkers.
It’s a Plus If:
- You’ve worked in an agile (Scrum, Kanban) software development environment before.
- You have developed Windows desktop installations using InstallShield or MSI.
- You are familiar with the NuGet package manager and administering NuGet servers.
- You have experience with web development using HTML/5, JavaScript, or ASP.NET.
- You have developed scripts using PowerShell or Groovy.
- You have experience using and administering Subversion.
- You have experience in CAD/CAM and/or the manufacturing industry.
CNC Software, Inc. is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.
Job Benefits:
- Generous compensation package
- Voted Top Workplace 3 years running
- Generous PTO and holiday package
- Onsite gym and paved walking trail
- Subsidized catered lunches
- Casual work environment
- Composting program and employee gardens
- Hybrid vehicles as company cars
- Remote work capability
- Parental leave program
Time zone: (GMT-05:00) Eastern Time