I'm glad that you're helping with onboarding - Taking care of the newbies is so important, but teams often times don't invest resources properly.
To start off, there are 2 resources I highly recommend:
- Session #5 - Mentoring Junior SWEs [E3] to Senior [E5] In Just 2.5 Years At Meta - Onboarding others is a form of mentorship, so a ton of the concepts apply here.
- My Effective Communication Guide - The part about building relationships is crucial. Newbies often times are afraid of sharing their issues as, well, they're new. You want to build up trust, so they are willing to go to you whenever they need the slightest bit of help.
Things To Suggest
- Have them schedule 1:1s with anybody on the team they'll be working with.
- Give them the tiniest, easiest task that you can possibly come up with that will require them to land a change into the codebase. You want to build up this muscle ASAP.
- Make it clear to them that they can book time with you whenever.
Things To Enable Them Better
- If you're the primary POC for onboarding them, schedule a weekly 1:1 with them as a "catch-all" mechanism to prevent their problems from falling through the cracks and of course, to build up trust!
- Whatever resources like wikis, sample diffs, product specs you think would be helpful to them, share those.
Onboarding Based On Level
- Generally, you want to increase ambiguity and technical complexity the higher the level.
- Let's say you're onboarding a senior engineer. After they get familiar with the code flow acing 1-2 super easy starter tasks, give them something harder like a bug that a mid-level engineer wasn't able to fix or a task where the designs aren't completely fleshed out.
- However, this doesn't mean you shouldn't hand-hold them in the beginning if they're more senior. I still highly recommend doing the weekly 1:1 and being ready to pair program with them whenever they want to.