Databricks
Systems PhD - Software Engineer
About this role
Databricks seeks a PhD-level software engineer to join the Database Engine team and design next-generation systems for data processing across their unified multi-cloud platform. You'll work on foundational problems like query optimization, distributed execution, vectorized engines, and storage systems that power their exabyte-scale infrastructure.
What you'll do
- Design and implement query compilation, optimization, and execution systems
- Develop distributed query scheduling and execution frameworks
- Build vectorized engine execution components
- Work on data security and resource management solutions
- Design transaction coordination and storage optimization features
- Contribute to automatic physical data optimization mechanisms
What they're looking for
- PhD in databases or systems
- Database systems design and implementation
- Distributed systems knowledge
- Storage systems expertise
- Query optimization and compilation
- Performance optimization
- Language design experience
- Systems-level programming
Benefits
- Annual performance bonus eligibility
- Equity compensation
- Work on cutting-edge data and AI infrastructure
- Opportunity to publish research and push industry boundaries
- Collaborate with world-class systems engineers
Opens the official application on the employer’s site. No login required.
Databricks
Databricks builds a unified data and AI platform that combines database systems, distributed computing, and generative AI capabilities across multi-cloud infrastructure. The company is hiring software engineers, applied AI engineers, and web engineers to develop core database engines, ML/AI features, inference systems, and user-facing products.
- Website
- databricks.com
Likely interview questions
- Can you walk us through a systems or database research project from your PhD and how you'd approach translating that research into a production system at scale?
- Describe your experience with query optimization or compilation—what trade-offs have you had to consider when balancing correctness, performance, and implementation complexity?