As I’ve written before, I had a number of great job opportunities when I was finishing up my PhD at MIT five years ago. Choosing which offer to accept was difficult, but in the end I was confident in my decision to join Cockroach Labs. The fact that I’m still here nearly five years later is an indication that not only did I make the right decision about where to start my post-graduate career, but the company has continued to be a place that both excites and challenges me in ways I didn’t anticipate back then.
This blog post describes my journey to Cockroach Labs and why I’m still excited to go to work every day (hint: it has everything to do with people and nothing to do with insects).
After getting my undergraduate degree in physics, I worked for a couple of years at an IT Consulting firm before landing my first software engineering job at Bloomberg LP. Since I had only taken a few computer science classes in college, Bloomberg is where I learned to be a decent programmer and first encountered large scale data problems. But after a couple of years there, I craved a stronger academic foundation in computer science, so I applied to graduate programs.
Initially I thought I would apply to masters programs, but after some research, I targeted PhD programs since they were funded, got preferential treatment from professors, and typically included the option to leave with a masters degree if the PhD didn’t work out. There was one problem, though, which was that I had no idea what to put in my application for “research interests”; I knew next to nothing about any computer science research areas. In the end I settled on two: I listed Computational Biology since I imagined it was vaguely similar to the computational physics research I had done as an undergrad, and thanks to some great advice from my dad (who is also a computer scientist), I listed Databases because I had enjoyed working on problems of scale at Bloomberg.
I was fortunate to be accepted by my top choice school, MIT, and I initially joined a computational biology lab since it seemed like it might be a better fit given my physics background. I quickly realized that the work wasn’t quite what I had imagined, though, and after a semester I decided to reconsider my selection. After sending a few emails and attending a couple of database group meetings, I switched into the database group with Mike Stonebraker as my advisor. Databases turned out to be a much better fit for me, since I discovered I loved building systems software. During the five years that followed I worked on a variety of different projects, but I was lucky to join the E-Store collaboration with QCRI early on, since it became the basis of my thesis on database elasticity. Another project I worked on was less fruitful from a research perspective, but allowed me to meet my future colleague Radu Berinde, who introduced me to Cockroach Labs. That project was a collaboration with VMware, where Radu was a Senior Staff engineer, and the goal was to understand the performance implications of running a database on VMware’s vSAN product. The project seemed promising at first, but it quickly fizzled out after Radu left (to join a startup with a funny name).
At the time I started applying for jobs towards the end of my PhD, Cockroach Labs had about forty employees. There were no paying customers, and from my perspective as a candidate, I couldn’t be sure the company would last more than a year or two.
Despite the early stage, I was impressed that the company already seemed mature in a number of ways. Most importantly, it was clear to me that the founders had made healthy culture a priority from the start. Unlike most of the other startups I interviewed with, where my point of contact was primarily the VP of Engineering or equivalent, Cockroach Labs had already invested in building a top-tier People Operations team, so I primarily communicated with Lindsay Grenawalt who led that team (today she is Chief People Officer).
Cockroach Labs had also already stated its commitment to four key values which have evolved slightly since then but are still central to the company’s identity today. In a nutshell, they were: build to last, respect, transparency, and balance. In support of the values of respect and balance, Cockroach Labs already offered perks such as Flex Fridays and unlimited vacation, demonstrating that the founders respected their employees enough to let them manage their own time, and they promoted balance by encouraging employees to take as much time off as needed to be productive at work. Numerous conversations with various members of the team exemplified the value of transparency, as they candidly answered every question I had. Poking through the codebase on GitHub and reading several technical blog posts helped assure me that the company was truly “building to last”.
Speaking of the codebase, the fact that CockroachDB was open source was a huge positive for me. Prior to joining Cockroach Labs, I had only worked at companies where the software was closed-source. When I left those companies, I had no idea what became of the code I had written; it is entirely possible that it was ripped out and deleted. The fact that CockroachDB was open source gave me confidence that even if the company eventually went out of business, the code I wrote might continue to be maintained by the open source community and have impact long into the future. I also liked the idea that I would be able to share openly what I was working on in conversations. All my work would be available to anyone on the internet anyway!
The technology was also a big selling point. My PhD research was focused on database elasticity for distributed “NewSQL” databases, and Cockroach Labs was building a SQL database that was designed from the ground up to be cloud native and scalable. I had read the Spanner paper and thought that Cockroach Labs’ plan to do something similar by supporting strongly consistent transactions over a geo-distributed cluster – but on commodity hardware – was fascinating.
Of course, the biggest positive was the people I met during the interview process. Lindsay was a fantastic first point of contact; her energy and enthusiasm were contagious. The engineers I met during interviews impressed me as much with their deep technical knowledge as with their kindness and passion for their work. And when I was trying to decide which offer to accept, Cockroach Labs didn’t hold back in giving me access to as many people as I needed to help me decide. I had lengthy phone conversations with the CEO Spencer Kimball and several engineers on the team, as well as an early investor / board member. What came through in all conversations was their confidence in the strength of the team as well as a passion for the company and its vision.
Although I had a gut feeling that Cockroach Labs was the right place, there were a few considerations that gave me pause. One concern I had was that there were no female engineers in the company at the time I was interviewing. Although I was used to working in a male-dominated field, I had never been the only woman on a team. Another consideration was the two-body problem. I wanted to stay in Boston to be with my partner, but Cockroach Labs is based in New York City. They were willing to let me work remotely, but at that point I had little experience with remote work and wasn’t sure I could be successful without a regular presence in the office. Lastly, as Cockroach Labs was a small startup that was still pre-revenue, there was a risk that it would not become viable and my stock options would be worthless.
Additionally, I had a number of other great alternatives to consider. I had offers from big, prestigious companies that would look good on my resume and would provide a guarantee of a more stable career path and financial return. I also had offers from other startups founded by fellow MIT students and professors – many of whom I knew well and had worked with closely during my PhD. Several of them already had a track record of entrepreneurial success.
But at the end of the day I was still drawn to the culture and technology at Cockroach Labs. My interactions with engineers during the interview process convinced me that the team had a strong culture of respect, and hiring a more diverse workforce was a top priority. Remote work would not be a big hurdle, since Cockroach Labs promised to arrange a coworking space and pay for me to travel to New York City as often as I wanted. And although the future of the company as an early stage startup was uncertain, at that point in my career I was willing to take the risk, with the confidence that the larger tech companies would likely still offer me a job if needed in a year or two.
I decided to take the plunge and accept the offer to work at Cockroach Labs.
The concerns I had had about remote work for the most part never materialized. Working from Boston was easy, especially since my colleague Radu was also based in Boston. Cockroach Labs was supportive when my partner and I moved to Chicago in 2019, and the fact that the company already supported remote employees like me made the transition to fully remote work for everyone during COVID relatively smooth.
My fears about being the only female engineer also proved somewhat overblown. As it turned out, I was the second female engineer to join the company; the first accepted her offer shortly before I did. Still, the percentage of non-male engineers remained small for a while, and although it has improved over time, it is still slightly below the industry average despite our best efforts at recruiting. Regardless, I am happy to say that during my entire time at Cockroach Labs, I have always felt great (mutual) respect from my colleagues. From the beginning, I felt that my perspective and voice was valued on technical and non-technical topics alike.
As for my concerns about the viability of the company, I couldn’t have been more wrong. I had no inkling that we would be as successful as we already are today, with over 400 employees, a $5 billion valuation, and a number of very high profile customers. It turns out those options I received as part of my sign-on package are already turning out to be quite a bit more valuable than I expected.
But beyond the financial success, Cockroach Labs has also turned out to be a great place for me to grow my career. I started at the company as an individual contributor on the SQL Optimizer team, which was a unique opportunity to not only improve my software engineering skills by learning from more experienced colleagues such as Radu and our team lead and manager, Andy Kimball, but also participate in the effort to build a cost-based query optimizer from scratch. In early 2021, the SQL Optimizer team joined with the SQL Execution team, and I took on additional responsibilities as the Tech Lead of the newly formed SQL Queries team. A year later, I took over as Engineering Manager of the seven-person team.
Today the SQL Queries team has a number of exciting opportunities as well as challenges. We are working on projects to improve the stability and performance of the execution engine, add support for features such as UDFs, improve statistics collection and estimation, and support distributed SQL execution in Serverless clusters, among other things. As our product surface area grows, the likelihood for logic bugs to slip in increases, so we also need to improve our testing infrastructure to catch correctness issues, and aggressively triage test failures. Managing the team to successfully execute this wide variety of projects is challenging, but I’m grateful for the opportunity to grow as an engineer and as a leader. I feel fortunate to have Jordan Lewis as my manager, who has provided unwavering support and helpful coaching throughout my tenure leading SQL Queries.
Cockroach Labs has also been supportive of my desire to maintain a connection with the academic community. During my time here, I’ve been a member of the Program Committee for a number of conferences, and have used Flex Fridays to review papers and occasionally pursue my own research interests. I’ve also been able to use my academic background to help advance the interests of the company by leading the effort to publish two full papers and one demonstration paper at top academic database conferences. Our first paper was published in SIGMOD 2020, and we presented our second paper earlier this summer at SIGMOD 2022. We’ll present our first demonstration paper in September at VLDB 2022.
After nearly five years at Cockroach Labs, I am still learning and growing as an engineer and as a manager. I feel privileged to continue to work with such fantastic colleagues, and I am proud of what we have built together. It is thrilling but also humbling to know that today CockroachDB is used by hundreds of organizations for mission-critical workloads. I am eager to see what’s next for us as a company.
If you want to be our next fantastic roacher, check out our careers page. We are hiring!
The latest research paper from CockroachDB’s engineering team, “A Demonstration of Multi-Region CockroachDB …Read More
Raise your hand if you’ve ever been personally victimized by the Raft Consensus Algorithm.
Understanding Raft …Read More