Software Engineer - Systems
CNC Software, Inc via Stack Overflow
Feb 1st 2019
CNC Software is looking for a Software Engineer to join our systems development team. This team builds large-scale software components that are used throughout our application.
As a member of our systems development team, you'll work on the critical subsystems that other CNC Software developers rely on. You'll have the opportunity to work in a diverse range of areas, including graphics, data management, serialization, and CAD/CAM-specific areas such as planes and toolpath operation management.
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 4-5 years of experience building commercial software in either C# or C++
- You have a strong understanding of object-oriented development
- You possess a strong ability to assess the risk in changing low-level software components
- You are familiar with standard software development practices such as source control, peer reviews, and unit testing
- You are comfortable with low-level memory access and tracing (i.e. examining memory window data, utilizing memory breakpoints)
- You have experience in using a profiler to identify performance bottlenecks
- 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're familiar with the C++ STL containers and their performance guarantees
- You have experience in developing UI using WPF
- You have knowledge in 3D computer graphics, and experience with OpenGL or another 3D graphics development toolkit
- 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.