Engineering onboarding that sucks less
We announced acquiring a new company with hundreds of engineers from across the globe. Tasked with on-boarding them, I went with the slogan, "Engineering on-boarding that sucks less." It makes sense. Most engineering on-boarding is lackluster and requires a lot of work. This is how we did it.
I’m no stranger to the fears, uncertainties, and vast concerns of an acquisition. I've been a part of many acquisitions both large and small and in my experience, there are a lot of unknowns. Will I still have a job? Will I like my new colleagues? Will I be working on something different? Am I joining a different team or will I have a team? In all cases one thing always stood out to me: engineering on-boarding usually sucks. Usually that's because no one know's what's going on. How do you solve that? Get everyone on the same page, ease concerns, and excite people?
Exciting people is one thing, but how do you do this mammoth task remotely? People splay across different timezones, cultures, and regions. When I was a part of my last large acquisition. There wasn't much hubbub besides now getting free juice. Then we had to get new stickers on our company issued laptops, they extended offers to most people, and that was it. It was lackadaisical and uninspiring. I wasn't looking for some theater, but a reason to continue spending my time in our new home. The list was embarrassingly short with diminishing returns.
I left shortly thereafter.
Feeling like that made it obvious: we had to care. Not show we cared, but if we wanted to come out of this successfully, we had to actually care. It's easy to conceptualize on-boarding one or two engineers, but what about two or three hundred?
We had to focus, and focus on transparency and candid communication. No corporate jargon or regurgitating the conjoined triangles of success. Honest and clear communication was the only way. It's what I'd want, and have wanted in the past. After all, this is a two way street. We want you to be a good fit here as much as also you have to feel the same way, otherwise it’ll never work.
Step 1: create many avenues of communication. Shared chat rooms to ask questions in real time, email lists, and office hours. People could ask us anything, and we could share announcements, news, and updates. Additionally, I built an on-boarding website to tie everything together. It was a one stop shop for all things on-boarding. This may sound obvious, but these channels were crucial to our success. It started out with a letter from yours truly,
Cut the BS and share what happens next. Most employees see straight through the corporate jargon, plus it's lazy. Then, tell them exactly what will happen next. If you don't know, tell them that. Be honest. We didn't know all the answers when we started this on-boarding, and we were candid about it. It's hard to say, "We don't know and are working diligently to figure it out." But, it's so much better than the absence of communication. Not knowing what happens next when joining a new company is daunting. I never wanted anyone to feel like we were hiding anything.
Welcome to the company. Hi, I’m Matt and I lead DevRel at 8x8. My goal is to improve the developer experience and my dms are always open. Your best resource is this on-boarding site where you’ll find a list of sessions, FAQ, office hours, and important resources from HR to benefits. Plus, if something is missing, feel free to create an issue on our GitHub repo or send us a message and we’ll be sure to fix it!
First impressions matter, so I sent that to everyone joining. Now let’s talk about this on-boarding website, why is it so important? Think about the last time you went through some sort of on-boarding. There’s talks, from HR, about health care, 401k, holidays, policies, new faces, names, procedures, the tools used to do work, company hardware, VPN, usernames, passwords, and so much more. It's completely overwhelming. If you can retain just one thing, you’re doing better than most. On-boarding is stupidly overwhelming—it sucks.
Again, first impressions matter. How could you expect anyone to enjoy a chaotic and unorganized on-boarding as their first impression? Easy, you can't.
The on-boarding site set out to solve this problem. It provided all the information needed. A full schedule of what to expect over the next couple weeks. Live sessions as well as recordings, links to presentation materials, sample code, repos, and resources for future replay-ability. It wasn’t just made for this acquisition, but for all future new hires. It provided complete transparency (more on that later) into what’s going on. The goal was to reduce the amount of stress and burden on a new hire. They don’t have to remember everything to be successful, the onus was on us communicating effectively. It was all in one place, on one site. Not in confluence, jira, blog posts, emails, chat messages, letters, and telegrams. One place.
The share it everywhere strategy also worked well. I vehemently believe that the onus of communication is on the communicator. Yes you have to have willing ears to listen, but if you can't communicate effectively, you're better off not even trying. I made sure to share things multiple ways. The on-boarding site is and was always the source of truth, but it was important to reach people via email, calendar invites, chat messages, dms, and announcements. I can't stress this strategy enough. If you build it they won't come, you have to tell them about it. In a remote world, there's no harm in over communicating.
A plethora of info exists on this site. Links to HR resources, days off, healthcare stuff, info about the company, demo videos of our products, soup to nuts presentations so you can deploy a micro-service from your laptop to Kubernetes in 20 minutes using the tools and platform our team built. All of this, and so much more content. It’s a lot and very difficult to remember. In my intro letter I told everyone, “we don’t expect you to remember everything, that’s why all content will live on this site for you to revisit anytime. Even I don’t know all of this stuff and I’ve been here for 3+ years!”
Tech Conferences lent a lot of inspiration to on-boarding structure. We utilized various tracks and sessions. Some were company wide, some engineering wide, and the rest were team wide. The first couple weeks were company and engineering wide where we focused on introducing topics are a higher level. Then, we had more niche topics as breakout sessions for teams and anyone interested. We never excluded anyone. If you're a designer who wanted to learn about how we maintain Kubernetes, you were welcome to join. The best tech conferences have a variety of topics, replay-able sessions, we did too.
We kicked it off with an intro to the company and a welcome from the leadership. It was short, and introduced the on-boarding content as well as the on-boarding site. Then, we got into it. Sessions on every engineering topic imaginable to help you learn different teams, how we think about engineering, and more. I spent weeks working with every leader across the company to put together sessions on their specialty. We recorded everything so no one missed out. Even six months later, people are still re-watching sessions and revisiting content. It's been a tremendous success.
Focusing heavily on a tight feedback loop was undeniably necessary. Finally, at the end of the second week of full sessions (the ones for everyone in engineering), we hosted a few important sessions. An AMA with the Chief Product Officer and a campfire chat.
Our goal was to make an awesome on-boarding experience. It took a lot of work, early mornings, and a lot of help from others to fill the sessions with great content. Over communicating was crucial. Being unabashedly transparent and candid inspired trust. And finally, tying everything together with the on-boarding site increased visibility, organization, and reduced chaos. Ultimately, we made engineering on-boarding suck less.
P.S Want to chat with us? Come join the Dev's Gaming discord!