Position Overview:
We are looking for a Software Engineer to join our mill-turn toolpath development team. This team develops, maintains and improves the systems used to efficiently program mill/turn machines as they cut out precision parts. As a member of our mill-turn development team, you’ll be working in one of the most complex and challenging areas of our product. You’ll have the opportunity to drive forward a newer product that is being used as a proving ground for techniques and technologies that will be used throughout the software. 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 3+ years of experience building commercial software in either C# or C++
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 are adept at examining and mapping out complicated software systems
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’ve worked in an agile (Scrum, Kanban) software development environment before
You have experience with CNC machining, especially dealing with NC code and machine environments
You are familiar with parsing engines or interpreters
You have knowledge of kinematics and 3D transformations
You have experience writing multithreaded applications
You’re familiar with C++ design patterns and the C++ standard librar
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.