Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Onboarding

I don't like onboardings in general. Usually they are a massive waste of time; the idea of onboarding makes a lot of sense, but in practice how people run onboardings is often not effective. IMHO it's a complete waste of time.

The common issues I see with bad onboardings are:

  • Manager is hands-off and just throws a bunch of links and code and asks people to read
  • No homeworks for the engineer (no output is an anti-pattern)
  • No clear goals or expectations
  • When there are expectations, the manager is just training the engineer how he likes to work, like: "I want story points of 3-5, don't do PRs with more than 10 files, show up to my 1:1s, update your JIRA tasks, etc."

This is a complete waste of time, because the engineer should be actually doing this:

  • Make sure you have your environment ready (make sure you can run and debug the app)
  • Make sure you understand where things are and how they work (test, deployment, infra, monitoring)
  • Make sure you understand the basics of the business and the code

Because onboarding is so terrible, pretty much it's a 2-4 weeks vacation for the manager. The worst is that it's common for the engineer to get out of the onboarding and not be ready. So a bad expectations game has already happened and the engineer is behind.

A good onboarding should have:

  • Have the environment ready (be able to run and debug the code)
  • Homeworks (the engineer must do something, make a PR, get some task done)
  • Short, 1-2 weeks maximum
  • Should be closely managed; otherwise, it has a chance of being a disaster

Now AI enters the field. Using AI, we can make this much better because now the engineer can use AI as a private tutor. If the engineer knows how to ask the right questions, they can learn much faster.