CNC Software · Feb 18th 2021
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 have experience in software development with CAM software, especially with post processing
You’re familiar with parsing engines or interpreters
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.