Staff Software Engineer, Query

DC SCORES
Summary
Join Ditto's Query Engine team as an Optimization Specialist and help shape the future of data interaction with the Ditto Query Language (DQL). You will work with product managers and engineers to design cutting-edge technology, troubleshoot production issues, and implement data distribution and index statistics collection subsystems. Your expertise will be crucial in designing and implementing a query cost-based optimizer, as well as a rule-based fallback. You will also contribute to other query engine features, author RFCs, document system architecture, and collaborate with various teams. This role requires strong communication skills and a willingness to travel. Ditto offers competitive salaries, meaningful equity, and benefits varying by region, including health, dental, vision, life, and disability insurance, flexible time off, and more.
Requirements
- 7+ years of experience in software engineering, 2 or more in a Senior or Staff role, with a focus on distributed systems and low-level programming languages like Rust and/or modern C/C++
- Willingness to learn the Rust programming language
- Prior experience with building SQL like query languages
- Prior experience with building cost based and ruled based query optimizers
- Prior experience with collecting index statistics and data distributions
- A willingness to travel (including internationally) once a quarter for team get-togethers and design sessions
- Strong communication skills, with an emphasis on written communication skills in particular. As a fully distributed team, async communication is the default and the development process often includes written architecture and design documents
Responsibilities
- Work with product managers and other engineers to help design the future of the technology
- Troubleshoot production issues, and design future remediations to deliver on Ditto's goal of a high performance, self-healing, and reliable mesh
- Design and implement data distribution collection subsystems and index statistics collection subsystems
- Design and implement a query cost based optimizer based on collected data distribution, and as a fall back, a rule based query optimizer, to be used when suitable distributions and statistics do not exist or are insufficient
- Assist with implementation of other query engine features as needed
- Author RFCs, design and document system architecture, and collaborate with other teams within Ditto
- Estimate the delivery timeline for projects and communicate with management and the broader team regarding project execution
- Set team culture by example, expanding Dittoโs culture of Trust, Communication, and Continual Improvement
Preferred Qualifications
- Bachelorโs degree or higher in Computer Science or Engineering
- Prior professional experience with the Rust programming language or other systems programming languages (C, C++, D, Ada, Zig, etc)
- Experience with property-based testing or other state-space exploration techniques
- Familiarity with Conflict-Free Replicated Data Types (CRDTs)
- Experience with monitoring tools such as Prometheus or Grafana
Benefits
- Health, dental, vision, life, and disability insurance
- A 401(k) and flexible spending accounts
- Private healthcare through Vitality
- A pension plan
- Flexible time off