Staff Software Engineer, Instrument Control
We are building custom hardware to automate enzymatic DNA synthesis at scale. As an instrument control software engineer you will have the opportunity to develop software for custom instrumentation with reliable and quality user interfaces. You will be part of a determined, collaborative team of curious and creative problem-solvers. They will help you define the requirements of the software and you will be in charge of creating software that is ready for use in a production environment. The software will be an integral part of Ansa’s mission to deliver high quality DNA to researchers and accelerate their discoveries.
If you get goosebumps finding creative solutions to challenging automation problems and want to help revolutionize the world of DNA synthesis, we want to hear from you!
Responsibilities:
- Architect, design, build, test and support software for custom in-house hardware
- Take ownership of deliverables and timelines for software development
- Work with an interdisciplinary team of scientists and engineers to gather requirements and build software that meets the needs of internal customer
- Track tasks and regularly report status within Jira or similar tools
- Create production-level, error free software complete with GUI and API for integration with internal automation systems
- Write and maintain documentation for software development, debugging, and internal data exchange standards.
- Create databases and procedures to store run history data and generate reports
- Utilize third party APIs and SDKs, including .NET interfaces, to communicate with off-the shelf and custom hardware
- Collaborating in a team environment: At Ansa, communication between teams is critical–our technology is built on enzymes, chemistry, and automation. Additionally, we believe that honesty and openness are an instrumental part of the scientific endeavor.
Experience:
- 7+ years experience in software engineering with a focus on hardware integration, GUI creation, data structures, and simple algorithm implementation
- Bachelor’s degree in Computer Science or related field required
- Proficiency in .NET/C#, Python, WPF and/or web interfaces
- Knowledge of database scripting languages such as SQL is a plus
- Familiarity with serial communication protocols (SPI, I2C, SPI, RS232, RS485, USB) is a plus
- Familiarity with robotics algorithms such as inverse kinematics, LSQ, path-planning/trajectory planning, and computer vision is a plus
- Ability to communicate and collaborate closely with a small interdisciplinary team