Senior Software Engineer - Driver Developer (Autonomous Lab)
TLDR
Design and develop robust software drivers for lab automation hardware, ensuring reliability and seamless integration within our innovative robotic lab systems and automating complex processes.
Our mission is to make biology easier to engineer. Ginkgo is constructing, editing, and redesigning the living world in order to answer the globe’s growing challenges in health, energy, food, materials, and more. Our bioengineers make use of an in-house automated foundry for designing and building new organisms.
About the Role: We are seeking a highly motivated and skilled Senior Software Engineer to join our core engineering team to work on Catalyst, our software stack that runs our robotic lab systems. This is a critical, high-impact role responsible for the design, development, full integration testing, and field support of software drivers for our cutting-edge autonomous labs.
The ideal candidate possesses a strong background in programming reliable physical real-time systems in production environments. They must also excel at cross-functional collaboration, ensuring our drivers meet the exacting standards of the scientific community and providing rapid response to critical customer issues.
To learn more about automation engineering at Ginkgo, take a look at our website.
Responsibilities:
Driver Development & Implementation (70%)
- Design, implement, and maintain robust, high-performance software drivers using Python and/or C#/.NET for a diverse range of lab automation hardware (e.g., robotic arms, liquid handlers, plate readers).
- Deeply understand and implement various low-level hardware communication protocols, including RS-232, USB, and TCP/IP.
- Develop drivers with a focus on reliability.
- Contribute to the design of the device abstraction layer to create intuitive and robust interfaces for high-level application developers.
- Use and enable agentic software.
Integration & Validation (20%)
- Extensive testing with the rest of the Catalyst stack
- Collaborate closely with scientists and quality assurance teams to perform joint functional testing and validate driver performance against scientific requirements.
- Develop and maintain sophisticated automated unit and integration tests.
- Design and build hardware simulation environments to enable comprehensive driver testing and rapid iteration without relying on physical instrument access.
- Ensure the drivers include comprehensive error handling, logging, and fault-tolerance mechanisms to guarantee graceful recovery from communication timeouts and hardware failures.
Field Support & Diagnostics (10%)
- Act as a Tier 2 technical resource, providing rapid diagnosis and resolution to software and communication errors occurring at critical customer laboratory sites.
- Utilize remote diagnostic tools, system logs, and protocol analyzers to troubleshoot complex field issues quickly and effectively.
- Develop and document workarounds and permanent solutions to maintain high customer uptime.
- Proactively observing usage of our drivers and proposing improvements to the user experience/reliability
Minimum Requirements
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related technical field, or equivalent practical experience.
- 5 years of experience in a software development role, with a focus on hardware integration, embedded systems, or driver development.
- Extensive experience with Python.
- Strong communication and collaboration skills.
- Familiarity with laboratory automation, robotics, or scientific instrumentation is highly beneficial.
Preferred Capabilities and Experience
We do not expect that any one candidate will have all of the following capabilities - each is independently a preferred or “nice-to-have” capability.
- Experience in a fast-moving, deep-tech company
- Experience or understanding of laboratory automation and lab automation user personas
- Strong understanding of Operating System fundamentals (threading, synchronization, memory management) and real-time constraints.
- Excellent communication, patience, and the ability to translate complex technical issues for non-software stakeholders (scientists, customers).
- Proficient with Git and experience working within agile methodologies and CI/CD pipelines.
- Advanced skills in debugging low-level code, including use of protocol sniffers, logic analyzers, and remote debugging tools.
- Experience with Windows, C#, COM.
- Experience with OPC-UA, SiLA2.
- Experience or background in a life science or chemistry laboratory
Ginkgo Bioworks is at the forefront of bioengineering, constructing and editing living organisms to tackle pressing global challenges in health, energy, food, and materials. With an innovative automated foundry, we design and build new organisms, making complex biological solutions more accessible and efficient.