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.