CNC Software · Apr 8th 2021
The Software Engineer II role is a mid-level position responsible for creating automated tests, including end-to-end and integration tests. Our team maintains a lot of legacy code that brought our business to where it is today, but we recognize that our future success requires investments in automated testing. The test harnesses you create will be laying the foundation for future upgrades, refactorings, and replacement technologies.
About our Department:
We also have two older yet critical ASP.NET WebForms applications. Your priority will be creating automated tests for these applications to support future refactorings, as well as to stabilize and prevent regressions. Our legacy applications are the backbone of our company operations but were written when automated testing wasn’t standard. This position will be challenging but equally rewarding for the right person.
CNC Software is a mature company, and Business Systems is a seasoned department. We are not a startup rushing from feature to feature. We don’t believe in unrealistic deadlines, emails won’t flood your inbox during the weekend, and we love it when everybody shuts down their laptop to enjoy their passions after a good day's work.
Our Agile processes are mature and streamlined. We keep unplanned work to an absolute minimum. Yes, we have meetings, but we try and keep them as short as possible. We optimize around giving developers as much focused time to code as possible.
Essential Duties & Responsibilities:
Be a pro-active, team player who thrives working within a team of developers and testers to preserve the value of legacy systems.
Design, develop and execute automated test harnesses around backend APIs & front-end user interfaces.
Apply modern development techniques to create maintainable automated solutions and write unit and integration tests for new and existing code to ensure compatibility and stability.
Participate in a well-defined, flexible SCRUM process and proactively contribute to the estimation and planning process, demonstrating your analyzing and planning skills.
Keep your skills up-to-date and learn new technologies with time for exploration and discovery time baked into every sprint cycle.
Minimum Requirements & Qualifications:
Bachelor’s Degree in Computer Science, Engineering or related discipline or equivalent experience.
Experience developing integration and end-to-end tests. We have experimented with Postman tests and have existing Selenium tests but are open to other frameworks.
Strong verbal and written communication skills, as well as the ability to multi-task and work within the team. We are professionals through and through, but everything is easier when we are all committed to meeting deadlines and quality standards.
You should be familiar with sprint-based Agile processes and be eager to participate in a mature and seasoned agile/scrum methodology.
CNC Software, Inc. is an Equal Opportunity Employer**. All qualified applicants will receive consideration for employment** without regard to race, religion, creed, color, national origin, alienage or citizenship status, sex, sexual orientation, gender identity or expression, transgendered status, partnership status, caregiver status, age, ancestry, physical, intellectual, learning or mental disability, pregnancy, childbirth or related condition, genetic information, medical condition including medical characteristics, marital or civil union status, familial status, veteran or military status , use of tobacco or other lawful products off premises and during non-working hours, or any other classification protected by applicable local, state or federal laws.
EOE/M/F/Vet/Disabled are encouraged to apply.
We are an E-Verify Employer.