For the books listed below that are not freely available, Materialize engineers are welcome to expense physical or electronic copies.
Employed engineers should read the following within their first few weeks at Materialize:
An academic paper about Napa, an internal Google system that is quite similar to Materialize in both goals and architecture.
A paper by @frankmcsherry et al. about how arrangements improve performance in stream processors.
A paper by @frankmcsherry et al. about how many scalable big data systems fail to outperform a single-node system.
A blog post that addresses a common misconception about how locks work in distributed systems. You can read Martin Kleppmann's book Designing Data-Intensive Applications, listed below, instead.
A YouTube talk by Gil Tene about common pitfalls encountered in measuring latency and response time behavior.
Our policies for submitting and reviewing PRs. It applies to our internal repositories too.
This book is a crash course in designing, implementing, and using databases. If you don't have a database background, you should strongly consider reading this book, though make your own assessment about which chapters are most relevant to you.
There is a copy of this book in the office that you can borrow.
A blog post by Materialize engineer @ruchirK that introduces Differential Dataflow.
Our recommended book for those new to Rust. You can also try the freely available book The Rust Programming Language, but most engineers have preferred Programming Rust.
Our recommended book for learning more advanced Rust techniques once you've learned the basics. Some engineers have had success skipping Programming Rust and jumping right into this book instead.