On-boarding Software Engineers — 10 techniques to get it right
Previously, I wrote about how to get software engineer onboarding very, very wrong. A key takeaway was:
Software Organizations invest so much on optimizing talent sourcing and work processes, it’s amazing how the link connecting the two — engineer onboarding — is often neglected.
But pointing out problems is only the first step towards a solution; On this post, I will finish the story by sharing how we successfully on-boarded new engineers at WeWork Technology in Tel Aviv, and describe 10 tried-and-true techniques that anyone can use in their own software organization.
Our Engineer Onboarding program, in numbers
I joined WeWork Tech-TLV in August 2016, as engineer #7. Two weeks later, I asked my manager to take ownership of onboarding new engineers — and got immediate approval, a shining example of managerial delegation and Laissez-faire.
It was the peak of WeWork’s hypergrowth phase, and things moved pretty quickly from there.
In 22 months, we onboarded 55 engineers.
Out of those 55, only 1 engineer churned within 3 months.
Looking at an example cohort, engineers who joined WeWork Tech-TLV between September 2016 and March 2017, 80% were still with the company 2.5 years later.
We collected feedback from every single engineer (more on that later), and their overall impression of their first month at WeWork was positive or neutral in 100% of the cases. About 70% of these feedback sessions yielded actionable insights that were immediately embedded into the onboarding program.
And one more thing: new engineers became mentors/buddies themselves within 3.5 months after joining WeWork, on average.
I was unable to locate any industry benchmarks for these stats, but I suspect they’re pretty good. Hopefully, they’re enough to convince that this program was a success.
Recipe for a successful onboarding program
So how did it work?
1. Newcomers get assigned a buddy.
2. Newcomers are given 3 weeks focused on study.
3. The End.
Yep, that’s all there’s to it, you can stop reading now.
Also: this sounds like every onboarding of every engineer ever, right?
The secret here is not in the framework, but rather in the guiding principles, the intent of everyone involved, and also in the techniques implementing those principles. Those small details are what made all the difference.
Now, here’s the thing: none of the pointers below are rocket science.
In fact, you may find them very obvious. But whenever you do, think: “Do they do that obvious thing in my organization?”
The answer is often, sadly and surprisingly, “No”.
10 techniques WE use to get onboarding right
1. We take care of our own
In many workplaces, the employees who own — and care about-newcomer onboarding are ‘Human Resources’, ‘Operations’, or ‘Office Administration’.
One could argue that these people have more training, or even aptitude, towards cultivating new employees compared to your stereotypical ‘speaks-Java-not-English’ engineer.
But try as they might, your HR colleagues never experienced joining a company as an engineer; Nor will they be directly affected if a new engineer’s onboarding goes awry.
Do you know who did experience onboarding as an engineer first-hand, and who is going to enjoy the upside of a well-ramped-up new engineer? That’s right the new engineer’s teammates.
That’s why engineers should be the ones to own the engineer onboarding process. Our people, our responsibility.
2. We assign Onboarding Champions
So, if HR is not responsible for the onboarding process, who is?
Should every team who receives a newcomer just ‘wing it’ and reinvent the wheel?
At WeWork Tech-TLV, we resolved this by having some engineers to step-up and become Onboarding Champions.
As of September 2019, we have 3 talented engineers wearing the Champion mantle in Tel Aviv — Avigail, Yaniv and Or.
Their mandate is simple: Do whatever you deem necessary to ensure new engineer onboarding is a success.
This typically involves consulting ongoing onboarding processes and coming up with the strategy of how to handle future onboarding processes.
Most of the pointers in the list were formulated by and/or involves an Onboarding Champions.
3. We communicate with newcomers before they start working.
Onboarding starts the moment a candidate signs the contract.
From that fateful moment, they’re part of the family and are treated as such.
This reduces the chance of someone switching to another company before they even started working (a phenomenon that is sadly commonplace in Israel) and also reaffirms the engineer’s decision to sign with you and not somewhere else.
Typically, we send two emails shortly after people sign. The first is a more ‘technical’ one from our Operations team, that is still written in a friendly language rather than Legalese. The other is an email from the Onboarding champion, congratulating the newcomer, sharing some details on how those first few weeks are going to look like, and providing an opening for more questions. The hiring manager also often joins the party, via a phone call or an email.
We also make sure to invite newcomers to team and company outings and events. At WeWork, this happened a lot. For example, I invited a teammate who recently signed to attend a tech vision talk by WeWork’s CTO, and then join us for drinks with said CTO a couple of days later.
Ah — and we also send cupcakes. Never underestimate the power of cupcakes.
4. We train our buddies
A ‘buddy’ is someone who is assigned to mentor a newcomer.
Some people are natural guides and mentors; For others, the role of ‘buddy’ is more challenging to get into.
Some people have no experience in being a mentor; Others may have done it only once or twice in the past.
Given that, and to set our buddies up for success, we always hold a ‘buddy training session’ the week before the newcomer officially starts.
These sessions are always frontal, never recorded or self-serve.
Why is that so? While every session follows a protocol at first, each one is unique — just like every buddy is unique. The buddies-to-be always ask questions, taking the conversation in different directions.
I held over 20 such sessions myself; No two sessions were identical. Being able to directly hear from — and consult with — a seasoned Onboarding Champion allows the buddy to tap into the know-how stemming from dozens of successful onboardings.
As a by-product, it’s also a good opportunity to find out about any expected challenges such as tight schedules and vacations.
5. We consider mentorship as part of an engineer’s growth
Onboarding someone new is considered a ‘rite of passage’ among our engineers, a sign that you are now a full, trusted part of the team.
That’s why we aim for every single engineer to be someone else’s buddy eventually.
It’s also why we aim to turn a newcomer into a buddy within just a few months (3.5 months on average during 2017–2018).
Being responsible for someone else’s first few weeks at a company is an important responsibility. It means the company entrusted someone else in your hands — a first step towards becoming a tech lead or a manager, if you will, and spreading your ‘impact radius’ beyond just yourselves.
6. We tailor the onboarding program to the candidate
People are different.
Different People learn in different ways.
Some enjoy viewing tutorial videos; Some enjoy learning from books; Some learn most efficiently by opening the IDE and starting to code, with ‘Dr. Google’ and ‘Uncle Stackoverflow’ nearby.
Some are quick; Others are thorough.
Some people expect their buddies to check in on them twice or thrice a day; Others would consider such a frequency as harassment.
Some already know most of the tech stack; Others need to learn it from scratch.
There’s no ‘once size fits all’ technical onboarding syllabus. Even for the same position.
On the first day of every engineer, they have a long, introductory chat with their buddy. Beyond meet-and-green, the main objective of this meeting is to allow the buddy and the newcomer to establish a customized technical onboarding plan, tailor-fitted to the newcomer’s learning habits and knowledge.
For the buddy, trying to pry into the newcomer’s habits and preferences might feel intrusive or awkward; But, to quote Cookie Monster:
“Asking questions is the best way to find out about things”
Things like cookies… and learning habits.
7. We focus on hospitality
It’s OK for a new Engineer to not know some React or Ruby tidbit a few weeks after joining.
Much less so, feeling like an outsider.
The main KPI I think of when looking at an onboarding process, is: How long does it take for a newcomer to refer to WeWork as ‘we’ and not ‘you’?
The way to achieve that is first and foremost, making people feel welcome. They were just adopted into a new family, but it takes time to settle down and feel at home.
The one ceremony we never compromise upon on day 1 is to have lunch with the team.
Another tactic that helps in establishing this sense of belonging, is pro-actively forming a ‘circle of friendly faces’.
As a buddy, I always try to find a few people who may form positive chemistry with the newcomer. It could be someone who studies in the same school as them, or a fan of the same sports, or has children in about the same age as the newcomer… anything goes, as long as within a few days, the buddy is not the only person the newcomer feels comfortable approaching.
Yet another tactic is to act as a ‘cultural interpreter’. Every organization has its own set of ceremonies, inner jokes, acronyms and so on. The newcomer will catch up eventually, but dropping tips like “This is what this acronym means” or “They call him ‘the pink sock guy’ because of a Halloween costume” helps.
8. We ensure a gradual learning curve
Joining a new organization can be overwhelming and daunting.
The solution? Don’t flood the newcomer with information on day 1.
Our onboarding plan is typically partitioned to multiple weeks, and it’s totally fine for a newcomer to be unfamiliar with the company’s values or memorize all of the internal systems’ names in the first few days.
On the flip side, we also ensure that learning is efficient and effective. For example, engineers often undertake a pet project that has a front-end aspect. Spending half a day to learn the ropes of CSS and customize the UI is efficient learning; Spending 3 days to achieve an amazing UI while doing the same is probably not an efficient use of the precious learning time.
9. We retain knowledge
One of the Onboarding Champions’ most important duties is to make sure that every buddy can tap into the accumulated knowledge of dozens of past onboarding processes.
“Knowledge” can be even the tiniest of details, such as troubleshooting issues while setting up a new development environment. If Lucy ran into trouble while installing Ruby, Gary will probably stumble upon the same issue as well.
We use Wiki to manage and store the knowledge, and we let buddies and newcomers alike know it’s a team sport. Most of the page updates came from newcomers, and it helps them both gain more sense of ownership and efficacy, and make future newcomers’ lives better.
10. We collect feedback
Whenever an onboarding period ends, the Onboarding Champion holds a feedback session with the newcomer, along with a demo of the newcomer’s pet project.
This provides closure for the newcomer, and also brings forth essential insights into the current onboarding process and how to improve it.
The managers and the buddies do not participate in the session, so that the newcomer will feel as free as possible to share constructive feedback.
As I mentioned before, most of these sessions led to actionable suggestions that could be applied immediately to hone the process, and so we did.
I wrote this post less than a week after leaving WeWork, as part of major lay-offs (sorry, ‘right-sizing the company’).
Since I announced that I’m one of those departing, I received tons of emails, messages and hugs from friends and colleagues I helped onboard.
People recalled details I have long forgotten, like how I sent them a nice email before they joined, or how I came by their desk to ask how they’re doing with their pet project just when they hit a metaphorical wall.
It was extremely heartwarming and rewarding.
In the end, investing in onboarding is treating others the way you want to be treated. It’s not complicated or time-consuming, it facilitates one’s personal growth, and it leads to an overall positive working environment where people take care of each other.
And looking back at my time at WeWork, that was a huge win.