The successful candidate will work closely with computational biologists, the data infrastructure team, and the LIMS/ELN team to build, deploy, and maintain robust and efficient applications for collecting, analyzing, and distributing data to support our research and development efforts. This person will have strong written and verbal communication skills paired with an ability to get things done quickly without amassing hidden technical debt. They will be able to work with scientists, automation engineers, and computational biologists to understand their requirements, negotiate solutions that satisfy those requirements, and implement them in a timely fashion.
The ideal candidate will be excited about building applications and application environments that scale gracefully over time and teammates, and that can adapt to research needs. They will believe in the importance of building and evangelizing systems that are approachable and maintainable by using standard tooling and techniques; implementing test cases; using version control and continuous integration systems; and writing documentation for end-users and other developers. The ability to be flexible, and to work in a highly collaborative environment and an agile team first mind-set will be critical to success.
DUTIES AND RESPONSIBILITIES
- Build, deploy, and maintain pipelines that are efficient, robust, and leverage our distributed compute infrastructure while following software engineering good practices (e.g. version control, code review, testing, documentation, CI/CD).
- Collaborate with the Computational Biology group to help build core informatics infrastructure, tooling, and software development processes.
- Mentor and coach teammates: leading tutorials and training sessions, building documentation that encourages and supports good practices, and working 1:1 with co-workers.
- Lead our code-review culture, establishing and extending good practices by building infrastructure that makes doing the right thing simple, and straight-forward.
- Work with the Data Infrastructure team to build and deploy resources using state of the art infrastructure-as-code approaches.
- Collaborate with the Computational Biology, Data Infrastructure, and LIMS/ELN teams to help build a dynamic, long-term, scalable data resource to support the company's work.
- BA and/or MS plus 7+ years or equivalent combination of education and work experience; PhD in scientific/technical discipline and up to 2+ years academia or industry experience.
- Demonstrated proficiency building applications in Python, with experience in Python packaging and documentation tools and software best practices.
- Demonstrated proficiency in building, packaging, and deploying applications in Unix-like environments; experience building and packaging applications for cloud and container platforms.
- Solid, demonstrable understanding of how to use git, shared repository servers (BitBucket, GitLab), CI/CD systems, and related tools to manage and organize the evolution of software projects.
- Demonstrated strong problem-solving abilities and organizational skills.
- Must be detail oriented, self-motivated, independent, flexible, and able to prioritize and manage several fast-paced projects concurrently.
- Strong verbal and written communication skills for technical and non-technical audiences.
- Demonstrated ability to work in cross-functional teams as a strong team player as well as independently.
- Experience establishing good engineering practices and mentoring team-mates.
- Experience building tools to support research in a scientific discipline such as biology or chemistry.
- Experience building and deploying user-facing software applications using modern, web-based software stacks.
- Experience with R, BioConductor, and related bioinformatics tools.
- Experience with a variety of programming languages, including C++, Go, and/or Java.
- Experience with high performance computing (local or cloud).
- Experience with SQL database management systems.
- Experience with non-SQL data management systems, including "noSQL" document databases and text search engines.
- Experience with Terraform, Ansible, or similar infrastructure-as-code tools.
- Experience building packages for packages systems like Spack, Nix, or Homebrew.
- Contributions to public software projects using modern code-sharing platforms (e.g. open-source projects hosted on GitHub).