Staff Software Engineer, Compute Infrastructure
GRAIL is a healthcare company whose mission is to detect cancer early, when it can be cured. GRAIL is focused on alleviating the global burden of cancer by developing pioneering technology to detect and identify multiple deadly cancer types early. The company is using the power of next-generation sequencing, population-scale clinical studies, and state-of-the-art computer science and data science to enhance the scientific understanding of cancer biology, and to develop its multi-cancer early detection blood test. GRAIL is headquartered in Menlo Park, CA with locations in Washington, D.C., North Carolina, and the United Kingdom. It is supported by leading global investors and pharmaceutical, technology, and healthcare companies. For more information, please visit www.grail.com.
As a member of the Compute Infrastructure team, you will imagine and build the platform for large-scale computation that we use to develop products for the early detection of cancer. The tools and libraries we develop are used to iterate quickly on novel algorithms and analyses. We aim for:
We Aim for:
- Large scale, because our biological sequence data and their derivatives are many terabytes in size, and we’d like to engage many thousands of processors at a time to compute over them.
- Efficiency, because the faster and more cheaply we can test ideas, the more ideas we can test.
- Robustness, because we want users to focus on their scientific goals and not the status of their computing clusters.
- Approachability, because we want to bring powerful distributed computing tools to folks who may not yet be familiar with what’s possible.
- Composability, because we multiply the power of our tools when people can use them together.
- Reflow, a language and runtime for distributed, incremental data processing.
- Bigmachine, a library for self-managing serverless computing in Go.
- Bigslice, a serverless cluster computing system.
We focus on different aspects at different times, but these are all important to us. Much of our work is open-source:
We write many things in Go and embrace its focus on simple, reliable, and efficient software. With only a single program binary and cloud credentials, our users can run computations that transparently distribute across clusters managed entirely by the program itself.
Your Background Includes:
- 5+ years of experience working in a relevant software engineering role.
- Excellent knowledge of some general purpose programming language, e.g. Go, Python, Java, JavaScript, etc.
- Experience with distributed computing: cluster computing, caching, serialization/deserialization, fault-tolerance, etc.
- Excellent logical reasoning and analytical skills.
- Demonstrated detail-orientation, in communication and engineering.
- Demonstrated preference for simple solutions.
- Demonstrated effective written and verbal communication skills.
- Facilitated organizational change, either technical or cultural.
None of these things are hard requirements, but be prepared to discuss any deviations when we chat.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.