In the 2018 Employee Pulse Survey (EPS) at Coursera, one big area of focus that emerged was “Engineers take a long time to ramp up with the tools and technologies that they need to be able to do their job.”
Over the years, the Coursera engineering team had come to use a wide range of technologies — popular open-source, some homegrown, some adopted from outside with relatively small communities — to build our services and applications. In this post, I want to share my experience building and launching Coursera’s first engineering onboarding bootcamp to help all engineers feel equipped to do their jobs within their first month on the job.
I joined Coursera in January 2015 as an Android engineer. In 2016, I moved to front-end development. In 2017, I picked up backend and started leading product features and engineering-wide initiatives. At this time, I was officially a multi-stack engineer at Coursera.
While the engineering culture allowed me to quickly pick up new languages, skills, and domains of product engineering, the tech stack was overwhelmingly formidable in some areas. As I got more comfortable with the tech stack, I enjoyed onboarding new team members and mentoring engineers on my team.
In 2018, I transitioned to an engineering manager role at Coursera. I raised my hand when leadership asked for an engineering leader to lead the effort to make onboarding successful, considering the EPS results, and our plan of 40+ new roles to fill ahead of us.
I got to work and first thought about the framework for the bootcamp. I came up with a five-day format for the bootcamp. We chose to not center around updating documentation, but rather around creating a curriculum to be delivered by engineers at Coursera. Leading a growth team at Coursera and being extremely data-driven, I used metrics to define the goal of the onboarding bootcamp: Make all new engineers productive within their first month at Coursera.
To work toward that goal, I took a step back and used the “jobs to be done“ framework to list out the things new hires should be capable of tackling in their first month at Coursera, and then used this list to validate and refine the curriculum for the bootcamp.
Once we determined the curriculum, we laid it out in a Google sheet based project planning sheet to define its most important aspects:
- Types of tracks — general/architecture, BE, FE, mobile
- Topic breakdown by tracks
- Curriculum sequencing
- Duration of the sessions
- Handling presentation material creation and updates
- Team to create and present the bootcamp
- Frequency of the bootcamp
This project needed a passionate and dedicated team to be successful. To assemble a team from multiple engineering teams and keep them motivated, without being their manager, is not easy. I started with a presentation and a survey to get the engineering team at Coursera excited about the bootcamp and the topics that they could present. I assembled a 20-person team to run various sessions in the different tracks laid out in the curriculum. I took time upfront to build a relationship with every team member who became a part of the onboarding bootcamp, using a dedicated hallway and async 1:1s.
Looking ahead at the hiring plan for the year, we decided running the bootcamp once every month would work best. Each bootcamp since, from May-September, has had from five to 17 engineers in the cohorts.
Once the team was assembled, it was important to set a date for the first bootcamp and get all the materials prepared. Over the five days of the bootcamp, we have roughly 36 sessions presented by 20 presenters. Coordinating the creation of all the materials and getting them vetted and ready in time, from engineers across the organization, for the first bootcamp was no easy task.
We decided to set up dry runs for as many sessions as possible at least two weeks ahead of the first bootcamp date. This helped to get all the bootcamp materials prepared, vetted, and ready to go before the first bootcamp cohort started on May 22.
A lot of logistics needed to be in place to make the bootcamp successful.
We had to have rooms booked for all sessions all day for five days for both tracks. For this to work, the rooms needed to be booked far ahead of time which can be a challenge in a growing organization.
To mark the end of the bootcamp and allow new hires to connect, as well as with tenured and experienced engineers and leaders, we planned a small celebration on the last day of each bootcamp. All new hires are given a backpack to welcome them to Coursera. All members of the bootcamp team receive a nice track jacket to help them show off their special affiliation with the bootcamp and their commitment to building a strong engineering team.
The initial bootcamp also included new engineers in Coursera’s newly set up Toronto office. The bootcamp needed to run well over video conferencing platforms like Zoom, which we had also practiced during the dry runs. Thanks to the amazing new hires in Toronto who gave their time to help out, we were able to create an engaging remote experience.
This was the most engineering-heavy part of the bootcamp. The first cohort was scheduled in part by hand. Halfway through, I realized there was no way the bootcamp could be scaled if the scheduling did not work well.
We decided to use a workflow tool and script to connect and set up sheets-to-calendar integration. By the fifth cohort in September, we were able to schedule for the entire bootcamp in under 15 minutes, including all the necessary details in the calendar invitation.
The first bootcamp kicked off on May 22, 2019, after weeks of dry runs of the full curriculum plus training and feedback for the entire team from new and experienced engineers. Those were five busy and exciting days, and by the end, that first bootcamp felt like a success. No stone was left unturned in the effort to make the initial cohort a success, and the team heaved a sigh of relief when the last session concluded successfully.
To infinity and beyond….
The bootcamp has run through five cohorts so far and is all set to run for the next five through the end of this year and into the new year. New engineers aren’t the only attendees; tenured engineers wanting to ramp up on certain topics or switch domains also attend each one. The bootcamp has made it easier to switch from FE to BE or vice versa. This has the potential to keep engineers engaged in the company longer and increase the average tenure of engineers in the company.
By the numbers, we have 20 engineers running 36 sessions every month, with a total of 150 hours of training delivered to date to a total of 55 new engineers and interns.
Creating and running the bootcamp has been the most important and impactful work of my life. We are going to have a new owner to take over the bootcamp, but I am confident the bootcamp will continue to improve and drive more impact to new engineering talent at Coursera.
Interested in applying software engineering to education? Coursera is hiring!