Location: South San Francisco, CA
Employment Type: Full-time
The Platform Engineer builds the distributed software systems that support the ECL, designing the way in which those systems are safely and scalably deployed in Docker containers on AWS, and contributing to core low-level components of Emerald's Symbolic Lab Language (SLL). Projects include: building a hybrid object / graph multi-tenant data store that supports describing all standard biology and chemistry experiments in code; managing the deployment of Kubernetes, enabling environment parity between our development and production environments; building a service to safely distribute and execute simulation, analysis, and testing code in SLL; working closely with our Scientific Development team in developing and optimizing data storage, retrieval and search functions in SLL. We’re a small team, which means it is essential for every team member to be ready to take ownership and lead projects.
As an early team member helping to build the Engineering team as well as the product, you will also be encouraged to contribute to the software engineering practices we maintain in our own work, and which we bring to ECL as a whole. We strive to be continually critical of our process, cutting cruft and homing in on performance multipliers (such as continuous integration and agile development practices).
Our Tech Stack
Our backend services are written in Go, and deployed on AWS infrastructure in Docker containers, with container orchestration through Kubernetes. Our applications are web apps (React / HTML5 / CSS3) running on the desktop through NW.js, across Windows and Mac OS. Our source code control is on Github, with integration with Travis CI for continuous testing. The Symbolic Lab Language is written in the Wolfram Language. Our stack is always evolving, and we welcome new ideas and technologies which enhance our ability to deliver incredible software.
The Platform Engineering role operates mostly in Go, AWS (Postgres RDS, S3, EC2, SQS, etc.), Docker, and Kubernetes. More broadly, developing the software to enable cloud-based science is an expansive, diverse challenge. A core component of our job is consistently determining the right tools for the job at hand, and diving in to learn these new technologies along the way.
The Emerald Cloud Laboratory (ECL) enables life scientists to move out of the lab, and to conduct research entirely from a computer. Stepping away from manual completion of experiments at the bench, scientists on the ECL leverage the remote, automated execution of all standard biology and chemistry experiments in Emerald’s industrial lab facilities, working within a software platform for all stages of research workflows, from experimental design to data analysis.
If you would like to apply and learn more, we’d love to hear from you! Please follow the link below, including your resume and a brief remark about what you are looking for. If we see a strong potential match to our current needs, we will reach out to start a conversation.
Optional but welcome:
A link to your Github account or any projects you are proud of can be especially helpful. With project links, please include a short remark to help us get our bearings.