Location: South San Francisco, CA
Employment Type: Full-time
The Application Software Engineer develops the ECL Command Center and the multiple internal applications on which the ECL runs. The Command Center is a desktop application built with web technologies. It offers scientists a broad suite of tools for designing experiments on the ECL, tracking their progress, and analyzing their results, all within the collaborative context of working alongside other researchers. Projects include: the notebook interface to Emerald’s Symbolic Lab Language (SLL); team-based features for managing projects and end-to-end research workflows; point-and-click command builders that onboard users into the capabilities of SLL; building out the platform for running the web application on the desktop.
We’re a small team, which means it is essential for every team member to be ready to take ownership and lead projects. Feature development and proximity to overall UX are both central in this role, so the Application Software Engineer works very closely alongside the outstanding ECL Design team.
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 applications are web apps (React / HTML5 / CSS3) running on the desktop using NW.js, across Windows and Mac OS. Our backend services are written in Go, and deployed on AWS infrastructure in Docker containers, with container orchestration through Kubernetes. 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 Application Engineering role operates primarily in frontend technologies like React and Redux. 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.