Senior Software Engineer
Senior Software Engineer I, Broad Institute-Genome Sequencing and Analysis Group, Medical Population Genetics Program to help design and implement a general-purpose toolkit for applying next-generation DNA sequencing to medical genetics as part of a lively team and wider community of computational biologists, medical geneticists, and software engineers. Will oversee and implement the full software life cycle for our publically available next-generation DNA sequencing and genome analysis tools and pipeline.
Characteristic duties include
- Communicating with Program leadership to establish programming framework and toolset direction, including creating product roadmaps and establishing requirements, implementing these requirements, and managing the test and release of those components to the community
- Working with members of the group to implement and optimize successful analysis algorithms for use by the broader community; providing programming support across a diverse range of Program projects; and working collaboratively with scientists in a fast-paced environment
- Designing, implementing and supporting infrastructure for reliable, high-performance analysis of continuously generated, enormous data sets in a large-scale distributed environment
- Ensuring that designs meet performance and robustness requirements. Leads optimization and parallelization efforts where needed. Proactively makes technical recommendations to senior staff and manager; documents planning, design, issue resolution and other technical information for modules under his/her responsibility
- Participating in internal and external working groups to improve toolset integration
Must enable the research of program scientists though excellent communication, teamwork, and a focus on creating usable and accessible research software tools that consistently meet or exceed development milestones.
REQUIREMENTS
Exceptional programming abilities demonstrated by a top-tier bachelor’s degree in computer science or equivalent with 8+ years of software development experience. Must possess excellent general computational and programming skills; have expert knowledge of Java, C/C++ and a high-level language like Python as well as the capability to quickly learn other languages as needed. Excellent oral and written English communication skills required. Must enjoy contributing as a member in an interactive team environment. Must be able to handle a variety of tasks, effectively solve problems with numerous and complex variables, and be able to shift priorities rapidly.