I'm going to be joining Amazon soon and the team I'm on is going from 4/5 people a month ago to I believe 9/10 people (counting me). Our team is going to be comprised of SDE 2's and 1's (I'm an SDE 1).
I'm wondering what's the best way to have the best onboarding experience during this time.
While it will be nice that I will have a decent amount of people who will be in the same boat as me in terms of onboarding, I'm also worried that my manager and more senior teammates won't have as much time for things like 1 on 1s, answering questions, helping me onboard, etc. if they're also helping other people on our team in addition to their own work.
This us not an ideal setup, but there are worse (like being the first engineer on a team and being junior). There will be time for 1:1s, but there may not be as much “sit at your desk” (whether in office or not) time with the existing engineers.
If I were the lead eng or SDM on this team, this is what I’d do. Assuming 2 existing members are SDE-II, 2 are SDE-I, and you’re adding 5 people: Pod into groupings of: 1 existing SDE-II 1 existing SDE-I 2-3 new hires (3 to the most senior I/II pairing)
There may be more complexity in terms of the new hires being mostly SDE-II and only one existing member is. If that was the case I’d pod the 3 SDE-Is with 1-2 new hires each, and have the existing SDE-II doing active checkins with each pod as well as 1:1 with every new hire. Weekly if possible, 2x/3 weeks if not.
Calendar everything. No one should be left hanging for a long period of time. Each pod should be meeting as a group and talking through what everyone is doing in detail. New members should come to the standup or scrum if it exists and give their brief status but the pod leads should never be shocked at their blockers and already be working to fix them.
The manager should keep a weekly 1:1 with all new members as well. It should be separate from the SDE-II(s), and focus a little more on problems that aren’t getting resolved as quickly in the pod, and giving the Leadership Principle talks (I would say follow up, actually, they should do a session with the whole cohort going over them in detail, maybe two sessions), HR stuff (explaining pay, stocks, process), giving the new hires names outside the team to meet based on likely project assignment, etc. This is more strategic, while the engineers should be more tactical with helping you get your environment setup, first commit done, a guided tour through the code, an illustrated tour through service ownership and architecture, etc.
From there, I’d setup an onboarding oncall rotation, and have the new folk all on there. I’d start week one so in 3-4 months everyone will have had 2-3 rotations on it and be ready to start taking regular shifts with backup.
Have slack rooms with: Whole team (already existing) Whole team minus manager (already existing) Just new hire cohort Each pod
And of course be talking 1:1 with everyone on slack as needed.
If you are remote, VC as much as possible. Not just at scheduled meetings, like have a standing open chime that can be joined by any or everyone if needed if a conversation on slack takes more than 5 minutes or so. Talking is faster, VC will build rapport faster.
Try to do coffee chats with 2-3 new hires and your skip and director. Small forum makes it easier to ask questions but is more efficient with their time.
Each new hire should own a wiki page or onboarding document or some artifact of the team’s (or create them if there are none) and make it such that the next hire has a much easier time. Every question and its answer, every quirk or change to a documented process, all of it.
Have social time with the other new hires, and the whole team. Ask an off topic question in the team room daily and round robin the asker. Play games, or just chat.
Good luck. Again, suboptimal but I believe this setup can be made to work and get everyone up to speed effectively with enough disciplines
Thank you Lee! This was really helpful