Who We Are:
Strateos has reimagined laboratories as smart data generation centers with the industry’s first Cloud Lab Automation-as-a-Service Platform. Strateos enables scientists to design, run, and analyze experiments achieving new and faster scientific discoveries. Our mission is to create new knowledge driven by data, computation, artificial intelligence, automation software, and high-throughput robotics with the goal of fundamentally advancing the life sciences.
- Our remote control and automated cloud labs are accessible from a web browser enabling scientists around the world to easily access and control small and large molecule, cell and gene therapy and synthetic biology workflows.
- Our smart lab facility design-build services and lab automation software enables organizations to control their own scientific instruments and laboratories locally and worldwide, schedule workflows and manage their scientific data.
The SCLE [Strateos Common Lab Environment] team is responsible for designing, implementing and maintaining an eco-system of several scalable and distributed sub systems that translate, schedule and dispatch experiments in our automated labs. We are seeking a Backend Engineer to join our dynamic team.
Translation is the process of breaking down a high-level description of an experiment (specified through Autoprotocol) into multiple atomic low-level commands that must be executed on the physical devices. As a result, a dependency graph (DAG) is generated that can be further optimized and refined into an execution schedule
Scheduling is the process of converting a dependency graph (DAG) to a specific plan that can be executed at a particular facility. The schedule is generated to optimize the execution, ordering/reordering of commands, and to satisfy certain timing and operational requirements and constraints.
Dispatching is the process of taking the execution plan (the schedule) and commanding all the devices in the lab facility to run each step when appropriate until the entire experiment is complete. However, an experiment can deviate from its plan in any of a number of ways.
Integration between devices/instruments (mostly third-party) and the SCLE system is required to continuously expand the variety of scientific commands and edge devices we support for experimentation. Our engineering team focuses on controlling devices at the edge, but controls them from the cloud when applicable. In addition, we enable provisioning of new devices within a lab as well as manage device configurations and monitor health.
SCLE development routinely includes:
- Working with our scientists and operators to identify and define best practices for writing protocols that accurately capture scientific intent while being reliably schedulable
- Integration of new devices, continuous optimization and improvement of the services and components, implementing fault-tolerance and fail-fast strategies in order to scale and thereby enhancing the modeling, scheduling, and dispatching of ever more complex protocols
The SCLE platform comprises a set of services and components developed in Java, SpringBoot and Scala, which are deployed to the EKS cluster hosted on the AWS cloud. We also employed containerized device controller services deployed to both Cloud & Edge, depending on hardware requirements. Our frontend is developed on the React framework, using technologies such as RESTful APIs, RabbitMQ, S3, Postgres, for various communications and storage needs. We are open to exploring other technologies without our stack where and when it makes sense to do so.
- Fluency in at least one major programming language, e.g. Java, Scala, GO Lang, C/C++, or Python
- BS/MS in Computer Science or related field preferred
- 10+ years of professional software development experience
- Knowledge of UNIX, system administration, networking, etc.
- Familiarity with cloud services, primarily AWS
- Experience using Kubernetes and containerization technologies a plus
- Proficient in software engineering practices encompassing the software development life cycle, including requirements gathering, analysis & design, coding standards, code/design reviews, source control management, CI/CD, testing, and infrastructure
- A proven understanding of storage and data processing systems, interface and API design, and the ability to use and apply them in real-world situations with complex constraints
- Experience implementing, scaling and debugging large scale distributed systems with an event driven architecture
- Experience working with high volume low latency messaging infrastructure (ie: such as RabbitMQ, Kafka, Nats, etc.)
- Strong leadership and communication skills, with a track record of driving collaboration both within your team and with other teams
- Act as a mentor for less-experienced peers through your technical knowledge/leadership skills and advocate for technical excellence
- Strong analytical and problem-solving skills; the capability to take a high-level mission and translate it into action with minimal guidance
- Willingness to travel to partner sites
- Familiarity with frontend application development and technologies
- A challenging environment that will push you to grow and improve professionally, every day
- Opportunities to learn new technologies and fields, along with the freedom to work on hard technology and real science
- Competitive salary and meaningful equity
- Flexible vacation policy
- Medical, dental, and vision insurance
- Pre-tax commuter benefits
- Monthly gym stipend
- Lunch, dinner & unlimited snacks when in office
- Professional development budget
- 401(k) matching
Strateos is an equal opportunity employer