Infrastructure and Tools Engineer
Infrastructure and Tools at ECL is responsible for the security, reliability, and capacity of the software and virtual machines used to develop and run both our application and our laboratory, as well as development and improvement of internal specialty applications and integration. You will be joining a tight-knit and interdisciplinary team. Our methodology relies heavily on automation, infrastructure-as-code, and continuous integration and deployment.
- Design and develop processes and tools to automate and audit all aspects of development and production environments and databases for the ECL cloud application backend
- Continuously improve our set of in-house Go and Python facilities for automating container builds and deployments, and our bespoke Wolfram Language-based automated unit testing environment
- Develop applications related to laboratory systemsAutomated provision and deployment of Wolfram Enterprise Private Cloud instances for integration with our customer-facing Command Center applicationDevelopment of domain-specific language infrastructure in support of ECL's Symbolic Lab Language
- Coordinate with and advise other teams to plan and execute releases of application upgrades, new services, and migrations to new architectures or infrastructures, without degradation or interruption of service
- Efficiently and dynamically prioritize ad hoc requests alongside roadmap initiatives
- Coordinate with IT where premises and cloud infrastructure intersectEvaluate and integrate open-source and commercial tools to serve the above purposes
Our Technology Stack:
- Execution environment: Kubernetes on AWS EKS; AWS Lambda and Fargate
- Languages: Python; Wolfram Language; Go; shell scripting
- Database: AWS Aurora PostgresSQL
- Other infrastructure: GitHub; DockerHub; Ubuntu, Debian, Alpine; Envoy+Contour; Terraform; Prometheus; Grafana; AlertManager; PagerDuty; SendGrid; Auth0; Serverless
- AWS services: EC2; EKS; RDS; ELB/ALB/NLB; IAM; S3; Certificate Manager; CloudWatch; Route 53; ElastiCache; RDS; SQS; VPC; premises-to-cloud VPN; security groups; CloudFront
Required Skills and Experience:
- Internet foundations: TCP/IP networking; HTTP; SSH; DNS; SSL/TLS; RBAC; etc.
- Experience with Go, Python, Bash, and/or Wolfram Language
- Cloud environment management and maintenance, AWS preferred
- Linux system administration and scriptingTrack record of learning new skills and technologies readily
- Strong written communication and documentation skills (sample required)
Desirable Skills and Experience:
- Previous on-call production support
- Experience with Wolfram Language and Wolfram Mathematica
- Experience with other functional programming languages (e.g. Haskell, F#, Elixir)
- Database administration experience
- Application programming experience
- Application and network security backgroundCollaborative open source experienceFamiliarity with SRE philosophy
You might resonate with the culture at ECL if ...
- You are passionate about science, technology, and medicine
- You are impressively empathetic.
- You first understand the other until they agree you can express their view as well as they can themselves.
- You are intellectually fearless. Stretching yourself well out of your comfort zone across multiple disciplines is more the rule than the exception at Emerald.
- You are curious. When first-principles reasoning illuminates a path that diverges from the standard assumptions, you feel compelled to see where it leads.
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.