First steps towards a distributed team
As Coursera was growing its business, we wanted to grow our engineering team outside Silicon Valley. Great talent can be found all around the world, and we wanted to be more flexible in our hiring so we could bring more talented people into our company. Furthermore, if we wanted to support Coursera’s business growth, hiring just in Silicon Valley was not going to be fast enough for us. So we wanted to expand our talent pool and also transition to a more distributed culture. We also believe that long-term we will be in a fully distributed environment.
As we set out to meet our goal of opening a new location, we wanted to make sure we solved the unique challenges at Coursera, which largely relied on in-person communication and collaboration before the pandemic.
With accelerated growth and expansion of our business lines, we developed a lot of undocumented knowledge of the product and technology. To solve problems, we often collaborated on a whiteboard to brainstorm solutions. While in some cases this was necessary and important, in other cases having written documents would have helped.
We also had a lot of high-stakes interactions with universities and enterprise customers.
We asked around and spoke to multiple experts who have done this in the past. We asked them a load of questions; some examples are:
- How did you bootstrap the team?
- How did you hire the first few employees for the new office?
- What were the largest/most surprising challenges in opening and operating the remote office?
Some key points we learned: Bootstrapping with part of the existing engineering team is key, working across timezones is challenging, and successful offices have a concrete autonomous charter.
We also looked at data — quality of relevant talent, and talent competition. This helped us identify which locations would be best suited for solving problems at Coursera, including architecting distributed systems, data modeling, and building external APIs. We also conducted internal surveys to get data on where existing employees would want to move and why — this helped us identify a set of people who can bootstrap the team. Based on Coursera’s unique challenges and what we learned from our research, we decided to open our first distributed office in Toronto.
We started initial planning in December 2018. We articulated a long-term vision and charter for the team in Toronto. This was extremely important as we truly wanted this to be a critical engineering location for Coursera that would serve a crucial product function. It was also an important driver for the team’s autonomy and ownership.
We also had numerous details to work out with cross-functional partners, including entity setup and payroll. Setting up a working group with key stakeholders was critical to the success here.
We wrote down measurable long-term goals for the Toronto office and broke them down into quarterly goals, so we could reflect after a few months on whether we were heading in the right direction.
We started with a team of three to four folks from the Mountain View office and started bootstrapping the team from there. We set up travel arrangements to help with the initial knowledge sharing. By March 2019, we had four people in the Toronto office in a co-working space. Starting with a co-working space was also an explicit decision that allowed us to expand as needed.
Communicating the change
Apart from communicating with Coursera as a whole on a continuous basis, we held a town hall meeting to explain our rationale and answer questions. This was a great mechanism to share the broader story with the larger Coursera team.
As the Toronto team grew, we continued to do monthly Q&A sessions with the leadership team and the Toronto team, giving the team a chance to ask questions and interface with leadership directly.
We faced some challenges with the tools we used. We had to upgrade our video conferencing infrastructure considerably to allow effective communication. We tried using Jamboard for whiteboard conversations, but the experience wasn’t seamless. We also had to adjust the overall Coursera culture to be more mindful of timezones for all-hands-style meetings and to move toward more async communication.
Success thus far
Overall, this effort has been a success for us. We have now grown the Toronto team from three to 30, and from one product charter to four critical product charters. We are also continuing to hire.
We used a strategy of jumping right into critical projects, rather than starting with low-risk ones. This helped engage the team and attract the best talent. The Toronto team has shipped many critical products for Coursera, including Coursera for Campus, our recent offering for universities, and traditional enterprise products. These products are part of one of our fastest-growing business lines, allowing the team to have an extremely positive impact on Coursera’s overall business. We have also decided to scale other critical projects from Toronto such as our recent coronavirus response initiatives. In a follow-up post, we will go into more detail on how we bootstrapped the team.
Looking Towards the Future
When we had to transition to a fully distributed model during the global pandemic, the work we did with our Toronto office helped us immensely in setting up the right infrastructure and culture that would enable us to function effectively.
As distributed work is becoming more important, we are now looking at other ways to further accelerate Coursera’s adoption of this work style. Starting the Toronto office was just the first step in our long-term vision of enabling a distributed workforce for Coursera. Stay tuned on the next steps from us.
We’d like to thank the cross-functional team at Coursera who has made this happen. Special thanks go to Raghav Pasari, Richard Wong, Chandni Brunamonti, and Emily Keller-Logan for providing feedback on the drafts. We are continuing to grow and are hiring.