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 experience with solid modeling kernels such as Parasolid
- 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 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.