Zymergen is hiring a Senior Software Engineer on our Automation team to help write the software that translates experiments designed by our scientists into actions performed by robots and automated laboratory equipment.
Zymergen’s Automation team is building the technology for a reconfigurable, highly automated industrial microbe factory. Combined with the work done by our colleagues who are geneticists, data scientists, research associates, and many other disciplines, our work leads to new chemicals with properties unlike anything that can be derived from petroleum.
About the job
You will contribute to the code that controls the many different types of machinery that make up our microbe factory, adding support for new equipment types, improving the user interfaces for scientists, scaling the scheduling software to support larger transport systems, improving observability tools to monitor the factory, and generally working towards support for more complex automated workflows.
We call this role “Software Engineer” and not “Automation Engineer” on purpose: Our tech stack combines a modern web tech stack with a few cherry-picked components you’d find in a traditional process control system. Our codebase currently contains REST APIs served by Django apps, Vue.js for user interfaces (and simple Django forms with sprinkles of jQuery for others), Python’s asyncio in worker processes, and a collection of device drivers (also written in Python). Our infrastructure includes Kubernetes, Puppet-managed EC2 nodes, Kafka, MySQL, as well as a few Windows machines and PLCs.
The project you will start on has been in flight for two years. Some days you will be working on a brand new service to add a major new feature. On other days you will be fixing bugs or troubleshooting misbehaving robots in production (you might be wearing a lab coat). We use two-week sprints to structure our work, with every team member being responsible for keeping track of one or two ongoing efforts. Who works on what is driven just as much by our current skills as by what we want to learn.
One specific area our team is trying to get better at is frontend development and we hope that you can play a role in that. Be prepared to spend 50% or more of your time designing and implementing user interfaces. All our users are internal to Zymergen: They include scientists who need to tell the robots what to work on, support engineers who troubleshoot misbehaving robots, and managers who rely on utilization data from our dashboards.
You might have a CS degree, or not. (If you do, you would be the first team member who has one.) We want to hear the stories about how you used your skills in thoughtful and interesting ways, whether you learned them in a school or elsewhere.
We are looking for a software engineer who cares about the product we are building at least as much as the code they are writing. Nobody gets micromanaged in our team, even junior engineers own complete problems and participate in architecture decisions and project management. Because you join the team as an experienced engineer, we expect you to be comfortable dealing with ambiguity and ready to mentor others to become excellent at it too.
In addition to writing code every day, you will review the work of others both at the design and implementation stage, design significant new features and infrastructure from scratch, and help maintain and prioritize our backlog and road map. When we deploy our work to a prototype system, you will be hands on with testing and troubleshooting, even in situations when it’s not clear if the problem is software or hardware or biology.
You will be the sixth member of a team of people who are excited to both introduce you to our tech and to learn from you! When you arrive, we will have an onboarding plan that gets you ready for working on critical path features and the gnarliest bugs within two or three months. We will save you a spot in the schedule for our biweekly chalk talk lineup, too!
A note on logistics: This is not a remote job. At least some of your work will involve (expensive!) machines which are located in our laboratories in Emeryville, CA. Emeryville is one of the biotech hubs in the Bay Area’s “tech industry” and easy to commute to: Zymergites bicycle or ride public transit from Berkeley and Oakland, take the train or company shuttle from the South Bay, and BART or drive from SF. We don’t have fixed working hours: Most of us meet in the office on most weekdays. Most meetings happen between 11am and 4pm, if you work from home you can always videocall in.
Legal authorization to work in the U.S. is required. Zymergen may agree to sponsor an individual for an employment visa now or in the future if there is a shortage of individuals with particular skills for this job.
In compliance with federal law, all persons hired will be required to verify identity and eligibility to work in the United States and to complete the required employment eligibility verification form upon hire.
We’ve built a dynamic work environment that brings together the best talent from data science, machine learning, robotics, biology and business. Our culture is collaborative and inclusive. We embrace intellectual curiosity and encourage creative thinking to solve tough, real world problems.
We offer competitive salaries, great benefits, and a one-of-a-kind environment that is both fun and intellectually challenging.