Why I Joined GlareDB
tl;dr> I joined GlareDB last month, and it's been an exciting journey (already!) and I wanted to both introduce myself and explain a bit of what I'm excited about doing here.
In 2011 I started at this company, then-called 10gen, working on MongoDB. Lots of things were different then - for me, technology, and the world - but one thing is remarkably similar: the field as a whole was reevaluating some of its fundamental assumptions about how databases should work.
Back then companies and projects were exploring new data models, distributed systems, and scaling models in light of development and operational patterns. Today, we see something similar happening again with serverless computing and analytic workloads. In both cases, distributed systems and database engineers have an opportunity to shape the way we use data for the next 30 yeas. It's a very exciting moment.
I've been fortunate to work with some great teams on interesting, high-impact projects before and after MongoDB: I wrote the first major version of the MongoDB manual and worked on documentation for several years; later, I worked on infrastructure, building tools (and teams!) to support the core engineering organization: release automation, build systems, developer infrastructure, and a massive, distributed CI system. More recently, my work has been on distributed systems, compute resource orchestration and serverless computing systems.
As a lead engineer, I'm interested in how we build together, and where the seams exist; where two systems, two teams, two engineers (or more) have to interact and negotiate with each other. I like thinking about how the larger pieces of complex systems fit together, and how to change things at the lowest levels to maximize the simplicity and ergonomics for all downstream users. I want to make it easy and natural to program, to communicate, and to build interfaces that make it possible, easy and even enjoyable to solve problems. I want developers to be able to spend all (or most!) of their time working on their core concerns rather than the problems foisted on them by tools.
This is why I joined GlareDB.
GlareDB is a young project but it's already well on its way to becoming something great. Just as MongoDB in 2011 seemed obviously useful: "let the database automate high availability and horizontal scaling, while retaining the native structure of the data", GlareDB has some of the same obvious utility "just use all your data where it already is, with the tools you already have and know well, and we will provide abstractions and tools that make it easy to use." There's something almost magical about the opportunity.
It's also really exciting to work on a project like this in 2023: we've learned so much as an industry in the past decade or more:
Rust is pretty great for writing database systems like this, and it's real new
Cloud is definitely a paradigm with permanence, and the parameters of serverless computing are much better than they were a few years ago
Things that felt very next-generation, even a couple years ago, like serverless and separated compute and storage, have left legacy designs and infrastructure that are ripe for innovation and improvement
While I've worked on database engines for a while at this point, most of the work has been centered on - as I've jokingly called it - the "very carefully writing data to disk" problem. So I'm really looking forward to the "doing real work with data" side of the problem, which has huge impact potential for the entire domain space. I also love distributed systems, infrastructure problems, and operational and API ergonomics, which pretty much covers most of the engineering work that we do here.
It's also a fun time to join a company like GlareDB: there's a great team, an exciting product with a lot of compelling use cases and obvious applicability, and a great roadmap. I've got the sense that it's going to be a fun trip!