Software Engineer in Test

3D Systems San Diego, CA
At 3D Systems we are embarking on a new generation of software solutions to use and manage 3D printers. We are looking for a Software Engineer in Test to be part of a small team responsible for the design, development, deployment, and maintenance of customer-facing Internet-of-Things solutions with elements of edge device software and cloud-hosted software. The candidate will be responsible for software testing (QA) and developing and executing test plans, test cases, test procedures and test scripts for various types of testing such as functional, UI/UX, integration, regression, data validation, and overall system integration. He or she will be also required to manage defect reporting, existing and emerging requirements, and validating software releases.

Primary Job Functions:

* Responsible for implementation of software testing methodologies and validation of our IoT solution end-to-end, from the edge to the cloud.

* Drive the development of QA testing strategy against our IoT solution and lead test automation.

* Develop test plans, test cases, test procedures and perform defect tracking and validate functionality against collected requirements.

* Develop accurate software testing status reports and communicate results to team.

* Perform regression testing on different builds and submit identified issues to the software defect tracking application.

* Interface with engineers and managers within the company to understand and collect technology requirements.

* Develop and maintain software test cases in high level languages used by our team (Java, JavaScript, and Python).

* Interface with web services to programmatically validate components in a micro-service deployment.

* Work with our engineering team to design, implement, and expand new and existing software test tooling.

* Work with testers abroad to coordinate developed QA strategies and processes on components they maintain to ensure quality and reliability of our solution.

Required Education and Training:

* B.S. Computer Science, Computer Engineering or a related field

Required Knowledge, Skills & Abilities:

* Experience with Agile software development lifecycle methodology.

* In-depth knowledge in modern software test methodologies, tools, and languages.

* Familiarity working within a Linux/Unix environment.

* Experience using project management and defect tracking tools (JIRA).

* Proficiency in programming languages and working with web services (Java, JavaScript, and Python).

* Familiarity with software frameworks and technologies used by our group (HTML, CSS, Web services, REST, JSON, Angular).

* Familiarity with DevOps environment and tools (Vagrant, Ansible, Docker, Gradle, Git etc.).

* 3 year's professional experience as a developer or QA engineer in the software industry.

* Excellent organizational, verbal, and written communication skills.

* Self-starter with a strong sense of ownership, able to identify and take on tasks independently in an analytical way.

* Desire to learn new technologies and open to new ideas and constructive criticism.

* Team player who can adapt to a fast-paced project, is comfortable with ambiguity, and willing to assume new responsibilities to make the team successful.

* Able to work occasional off-hours to support offshore team communication.

Desired Knowledge, Skills & Abilities:

* IoT Framework experience a plus, e.g. Thingworx, Azure IoT, Google IoT

* AWS experience a plus

* General knowledge of Embedded software and hardware product development