10x is seeking an outstanding individual to join its growing Engineering and Product Development team in developing new technologies, devices and instrumentation for breakthrough next generation sequencing (NGS) applications. The successful candidate will be solely responsible for working across all phases of the software development life cycle to gather requirements and design, implement and deploy software for an embedded-PC laboratory instrument running on Microsoft Windows and integrated with a liquid handling robot.
- Work with stakeholders to define and document requirements.
- Produce requirements documents, such as Software Requirements Specification (SRS).
- Manage software development, internally and outsourced as required.
- Design software using Object-oriented techniques and document the design in a Software Design Document including UML diagrams as appropriate.
- Design and implement .Net application(s) for the instrument in C# along with associated unit tests.
- Set up and configure continuous integration tools for building and deploying the software and managing the source code.
- Work closely with engineers, scientists, project managers, manufacturing and field support teams to define and clarify software requests and specifications.
Required Skills and Background
- Bachelors degree in science or engineering or equivalent experience.
- Minimum 10 years experience developing shipping software.
- Minimum 5 years experience developing Windows UI applications in .Net with Windows Forms and/or Windows Presentation Foundation (WPF).
- Experience writing software to control embedded-PC or PC-connected instruments, components and subsystems such as motion controllers, fluidics devices and data acquisition devices over Ethernet, USB, RS-232, etc.
- Proven ability to use object-oriented techniques to design, document and implement software.
- Familiar with formal software development processes; experience writing requirements.
- Expert knowledge of OOAD technologies such as design patterns and UML.
- Experience with Laboratory Information Management Systems (LIMS).
- Familiarity with Agile software processes, particularly user interface story-boarding and Test Driven Development (TDD).
- Familiarity with unit testing frameworks such as NUnit or MSTest.
- Proficient with software version control, software configuration management (SCM) and continuous integration (CI) tools such as TFS, VSTS, Git/Hg, Bamboo, etc.
- Knowledge of Windows Embedded Standard / Windows IoT is a plus.
- Experience developing Windows UI applications for touch screen is a plus.
- Experience developing Windows UI applications within the life science industry is a plus.
- Experience developing software for a regulated environment such as software conforming to 21CFR11 is a plus.