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.