About the Role:
We are looking for seasoned engineers with experience in query optimization who are excited to be part of a small and highly autonomous team that is focused on Materialize's query optimization pipeline.
Materialize is built on top of Differential Dataflow which is an award winning project with strong theoretical foundations. Differential Dataflow models computations as dataflows and allows Materialize to quickly respond to arbitrary changes in input data while maintaining consistency for materialized views.
The optimization team is responsible for the generation of robust and efficient dataflow plans from SQL queries by applying proven optimization techniques and exploring new ones that are tailored to the dataflow environment.
Joining this team will give you the opportunity to play a crucial role for the overall success of Materialize as your work will directly impact our performance characteristics and the correctness guarantees we make to our customers.
What You Will Do:
- Work as part of the query optimization team on designing, implementing, and maintaining substantial parts of Materialize's query optimization pipeline in Rust.
- Evolve the query optimizer to generate robust and efficient plans from SQL queries while allowing the team to productively iterate on new and existing optimizations.
- Explore how optimization on top of a continuously running dataflow engine differs from more traditional systems and identify opportunities to adapt existing optimization techniques to this environment as well as develop new techniques.
- Work with non-engineering teams such as product management to develop an understanding of real-world customer usage and help to adapt Materialize to customer needs.
The following links provide a small sample of the kind of work the team has been doing in the past:
What We’re Looking For:
- 3+ years of experience with software engineering or in academia focused on optimization in the context of database management systems (SQL, NoSQL, NewSQL), compilers, or related areas.
- Solid programming fundamentals (e.g. C++, Java, Python) and interest in learning Rust.
- Track record of learning new technologies and concepts quickly.
- Ability to work both autonomously and collaboratively, as needed.
- Strong written and verbal communications skills.
- Strong working knowledge of computer science fundamentals, equivalent to a B.S., M.S., or Ph.D in Computer Science. Timely and Differential Dataflow are built upon years of academic and industrial research, and you’ll need to become familiar with the research areas.
- Knowledge of stream processing.
- Experience with Rust.
We understand it takes a diverse team of highly intelligent, passionate, curious, and creative people to develop the exceptional product we are building. Our dynamic team has incredible perspectives to share, just as we know you do, and we take great pride in being an equal opportunity employer.