Onboarding Is Hard
Why both sides need to be positive, intentional, and communicative when someone new joins your company.
We've all experienced the first-day jitters and shininess that comes from the excitement of new possibility and challenge. Broadly speaking, that energy can be focused one of two ways. Either it's used to catapult the new employee onto the fast track of becoming an active contributor or it can precipitate a downward spiral into mediocrity, boredom, and ultimately quitting. What follows here is my guide to capturing, focusing, and using that energy productively.
Have a Plan
Sounds very simple I know, but you'd be surprised at how many places I've run into that thought they could just "wing it" when bringing someone new on. This is can be predicated on a few potential assumptions.
- Existing documentation and/or team knowledge can be easily transferred to the new person.
- The new person is a "rockstar" and will magically know what they don't know when they start, know where to get the information they don't have, and know enough to get their feet wet already.
Obviously, both of those are false assumptions but I've seen them play out time and time again.
So, your plan should look to fighting at least those two assumptions plus any others you can drum up from your particular culture, like, are there any unwritten rules? Write that shit down!
- Know where your existing documentation is, how it's organized, and where any major gaps are. This should be an honest, factual assessment. It isn't a value judgment. This is something you can present to the new hire so they know where they're starting from.
- Assume that the new hire has knowledge of "what" but not "how". What this means is if they say they know Python, great, but they don't know how your company/team/etc uses it in practice.
- Figure out the most likely questions they'll have and if you don't have the answers, no worries, compile a list of the most likely person to have the answer. This can be a great way for a new hire to meet new people and start building working relationships.
30/60/90 Goals
It's amazing to me how many places don't provide a new hire a "roadmap" for their first 3 months. These are critical months in any new hire's journey that will set their trajectory for their time at your company. This doesn't need to be a complicated map but it should include some of the following with examples given:
- Technical goals
- They should get a merge/pull request accepted in the first 2 weeks, and deployed to production in the first month.
- They should shadow an on-call rotation by their 2nd month and feel comfortable taking on-call with a backup person by the end of their third month.
- In their first month understand the overall architecture and do a "teach-back".
- Social goals
- Take a person you've never met out to coffee every week.
- Every month for your first three, pick a different C-level executive to add into the coffee rotation.
- Conversations can be business focused or not.
- The goal is to make a human connection with the people you're likely to spend at least 40 hours per week.
- Career growth goals
- In your first month, determine whether your current team fits where you want to be.
- In your second month, determine where you want to go in the company in terms of career.
- By your third month have a plan for how to get there and present it to your manager.
Buddy System
For fuck's sake, assign any new hire a buddy they can go to with any question they may have without any judgment. This should be the first person they have coffee with and the first person they go to with "dumb" questions. These questions can range from "where's the 2nd bathroom if the primary one is full" to "where does this piece of code live" to "who do I ask about pushing code to production" or even "how does time-off work in practice and who do I ask for it". Think of this as a built-in acculturator and work-friend.
Note, that if this is the new hire's default work-friend, it's best to see if you can tease out who'd be a good match for them. Or, at the very least, don't pick your grumpiest engineer to play the hand-holding role.
Acculturation
assimilation to a different culture, typically the dominant one.
Every company has its own culture. Some are similar enough to others that it's like putting on a different shirt. Others are similar but they have weird buttons, on the wrong sides, and collars, and what's this pocket doing here?!
"Close" and "same" are two very different things. You can think of culture as some of the written and unwritten rules of "how we work together". The same work still needs to get done, code needs to be written, reviews need to be done, etc. How that happens is different in every company, even if they use the exact same tools. Perfect example, one company I was with just threw pull requests into the #engineering
slack channel with an @here
attached. My first week at another company I did the same thing and was privately scolded for using @here
.
Probably one of the biggest acculturation topics is communication. How the company communicates, what different tools are used for, even what different chat channels are used for can be a huge help.
Communication
This is probably one of the biggest ones, at least for me. Helping your new hire understand how their new company communicates. This can either be a huge stumbling block or it can be their ticket to acculturating in a week. Communication is probably one of the easiest ways to inadvertently step on toes, especially in any sort of textual communication (email, slack, etc).
- What methods of communication are acceptable?
- What are those various methods used for day-to-day?
- What's the expectation and acceptability of off-hours communication?
- What's the quickest way to irritate someone from a cultural point of view? (and how to avoid it yet communicate the same thing)
What's the Point?
So, what's the point here? Onboarding is hard, damn hard. Let's not make it harder than it has to be. Remember, the hiring of someone new is very expensive and you should put just as much effort into the post-hire as you do the pre-hire. Always look at it from the perspective of the new hire. Give them the hand up they need to get their feet under them and they'll become a productive member of your team faster with more smiles on either side.
The alternative is to let them flail as some sort of weird hazing ritual and see if they succeed. They might, yes, but you'll have wasted a lot of time, money, and effort needlessly. With the ultimate downside that they'll likely quit much sooner than they would have otherwise.