Skip to main content
Company Blog

How Databricks makes distributed sites successful

by

January 7, 2020 in Company Blog

Share this post

Credit: Pexels.com

Databricks recently announced signing a lease for new office space in Toronto. After Amsterdam, Toronto is our second geographically-distributed engineering site and a major expansion milestone for the company. This is a good time to reflect on how we work hard to make distributed offices successful and make sure employees do their best work and get growth opportunities around the world.

Like many high-growth technology startups, Databricks is a distributed company that develops products in multiple locations: San Francisco, Amsterdam and now Toronto. Databricks is a global company with customers on every continent and in every vertical (“from aviation to zygotes”). Since we build products for global customers, we believe that a global presence will help us be more successful. We gain access to top talent, and our customers benefit from the perspectives and skills of a diverse distributed workforce and company culture.

One of the most common questions I get from candidates is: “How do you choose what projects are worked on in Amsterdam?” What candidates are too polite to ask is this: “I’m worried about working on second-tier projects,” or “I don’t want to have late-night meetings with a product manager across the ocean” or even “I don’t want my career to suffer because I am not in the ‘right’ place - San Francisco.”

We believe that doing great work in every site is not simply a matter of choosing what work is done in Amsterdam, Toronto or San Francisco. It’s about setting up the distributed teams for success. Let’s see how Databricks crafts sites that are high-performance, take on high-impact projects and are empowered to grow.

Setting Up Distributed Teams for Success

The first ingredient in setting up a distributed team for success is to hire a seasoned site lead and assemble their extended leadership team. The site lead and their extended leadership team are seasoned engineering and product leaders who have scaled teams and products before. The site leadership acts as advocates for the team members’ needs. They are skilled at getting a lot of work done with a small team. For example, it may be a year or two before a distributed office  gets a human resources function, so the site lead must fill in.

In addition to a strong leadership team, Databricks transfers a small number of seasoned engineers from the home office in San Francisco to the site, both on a long-term and temporary basis. For example, Miles Yucht moved from San Francisco to Amsterdam to help stand up  a new team, which has doubled in size over the last year. Senior engineers who choose to relocate to Amsterdam commit to moving here for at least two years, and bring existing experience with our engineering processes and company values to the site. We also have a regular 1-2 week rotation of engineers between Amsterdam and San Francisco. These short trips help transfer knowledge between sites and encourage collaboration.

The next ingredient for doing great work at a site is to hire “three in a box” teams. Before we start a project in Amsterdam, we make sure that a strong tech lead, engineering manager and product manager are available to work on it. A tech lead provides technical guidance and leadership as we execute a project. A product manager gathers customer requirements, partners with the tech lead to design features and is the “glue” that makes sure the work we do brings value to customers. Finally, an engineering manager provides people leadership, scope, guidance and mentorship. The “three in a box” model has proved to be a crucial ingredient in making Amsterdam successful.

Once we have a “three in the box” team, we bring meaningful projects to the distributed office site and keep them there. Meaningful projects must have strong revenue and customer impact. They are projects that have interesting engineering challenges ahead of them as we scale. An example of this is Databricks Jobs, which is built and managed entirely out of Amsterdam. Once you bring a big project to a physical space, it is important to go “all in” and keep it there. It is tempting to want to move projects back to HQ - perhaps you hired a key leader there or hiring is going faster at the home office than at a site. One of our key lessons was to give the distributed team the opportunity to hire their own talent and grow.

Databricks is heavily invested in making our European Development Center a hub of growth. This starts with helping our employees do their best work, whether in San Francisco or Amsterdam. If you are interested in helping solve some of the world’s hardest problems with data, view our open positions at our Careers page.

Bilal is a Director of Product Management at Databricks, Amsterdam. His team focuses on the performance of large-scale distributed systems, with a focus on storage, I/O, benchmarking, query planning and optimization.