From the beginning, Flex Fridays have been a part of the Cockroach Labs culture. It’s a day where Roachers can make their own schedules: Should I come into the office or WFH? Should I send out these PRs or focus on my side project? Or should I just close my laptop and go on a weekend getaway? Quite frankly, it’s up to them. They strike a chord with many as it’s easy to wonder “Can a 4-Day Work Week Work?” Now, three and half years later, Flex Fridays are still going strong and are a benefit that we can brag about.
Over the next few weeks, we’ll be sharing how some of our employees spend their Flex Fridays. I’m excited for you to see what my colleagues are working on in and out of the office. While every Flex Friday can be different, I hope this highlights the range of ways our Roachers spend this time and the value that it has within our company culture.
-Chelsea Lee, Culture and Office Experience Manager
What is your role at Cockroach Labs?
I am a software engineer and am currently a member of the SQL Query Optimizer team, which is building a state-of-the-art cost-based query optimizer. Since the query optimizer is a new feature that has not yet released, we have the luxury of designing and building it from the ground up without worrying about production issues or backwards compatibility. In order to ensure the optimizer will have correct behavior and improve CockroachDB’s performance, we are constantly learning about the subtleties of SQL scoping and semantics, reading papers about logically equivalent query transformations, and researching how to use statistics to correctly estimate the cost of query execution.
As a member of the larger engineering team, I am also part of the on-call customer support rotation, so around every six months, I spend a week triaging production issues and answering questions from the community. All engineers, including myself, are also responsible for occasionally conducting technical interviews in order to share the load of Cockroach Labs’ hiring process.
What do you do day to day at Cockroach Labs?
Most of my time is spent writing code and reviewing the code written by other engineers on the SQL Query Optimizer team. I have very few meetings each week; I usually spend no more than two to three hours per week in meetings. When I’m not working on the query optimizer or in a meeting, I may be catching up on emails or slack messages, or taking advantage of the many opportunities for learning and development at Cockroach Labs such as lunch & learns and career development workshops.
What does Flex Friday mean to you?
As a recent PhD graduate, I often use Flex Fridays to maintain my connection to the academic world by reviewing papers, going to talks, or working on my own papers. Flex Friday is also a day to catch up on the items on my to-do list that I didn’t have time to do earlier in the week. It’s a day to sleep in, meet friends for lunch, and catch up on personal errands such as visits to the dentist or laundry.
What is your current Flex Friday project?
My partner, Raul, is a postdoc at MIT and also studies database management systems (we met when I was at MIT for grad school). We are working on a project together to build a query optimizer based on neural networks, or “deep learning”. Since traditional query optimizers (including the one we are building at Cockroach Labs) rely on many heuristics as well as statistics that are often stale and out of date, it is possible that a neural network could do a better job of choosing a query plan. It is too early to tell if our idea will work, but if it does, it would be a game-changing addition to Cockroach Labs’ query optimizer, and a major boost for Raul’s academic career.
What else have you done on a Flex Friday?
Although I would like to spend most Fridays working on the neural network query optimizer, in practice, other tasks tend to take precedence. I am a member of the program committee for the three major academic database conferences this year (VLDB, SIGMOD, and ICDE), so I often need to spend my Flex Fridays reviewing papers. Reviewing a single paper usually takes at least 3-4 hours (sometimes 6-8 if I’m not familiar with the topic), so often that is all I have time for. I also spent several Flex Fridays last fall working to get my own paper published with the last bit of work from my PhD thesis. Finally, I often spend at least some time on Fridays doing personal errands, answering personal emails, or doing my normal day-to-day work of writing and reviewing code for the (non-neural-network) query optimizer.
Describe a typical Flex Friday.
On Fridays I typically sleep in until 8 or 9, and have a leisurely breakfast at home. I might start a load of laundry and then answer emails and catch up on news for an hour-or-so. By 10 I’m ready to start working, but my task for the day is different almost every Friday. This Friday, I am working on the blog entry you are now reading, but on any typical Friday I could be reviewing a paper or doing any of the other academic, personal, and professional projects mentioned above. Sometimes I meet a friend for lunch or coffee in the afternoon, and return home to work for a few hours until around 6 pm.
How does Flex Friday support your long term goals?
Although I have chosen a career in industry rather than academia, I hope that I can continue to stay connected to the academic community. By using Flex Fridays to review papers, I am staying informed about the latest ideas in the research community and helping ensure that papers published in the major database conferences are relevant to industry. As time goes on, I hope to spend more Flex Fridays pursuing my own research as well, perhaps in collaboration with other members of the engineering team. I’d eventually like to help the team write a paper about the existing Cockroach database, since I think there are many aspects of the system that the research community would find interesting. Publishing in academic conferences such as VLDB and SIGMOD will give us additional credibility in the research community and help attract top talent to the company.
Illustration by Quentin Vijoux