Developer Onboarding: The First 90 Days
Published on 2022-12-13
6 min read
In the day and age of knowledge workers, especially within the tech industry, taking on new roles every few years internally or externally has become commonplace.
In either case, growing our technical expertise in both depth and breadth makes a huge difference; because the opportunity to learn from diverse company tech stacks, cultures, products, and processes grant us the opportunity to impactfully apply experience-based knowledge in each role.
It’s easy to see that over a lengthy career, 30 to 40 years, integrating effectively into a new organization and team becomes an essential skill. The faster we can transition from newbie to contributor on a new team, the more productive and impactful we will be.
In February of this year, I found myself onboarding for a new developer role at Disney! I was ecstatic about the new opportunity to help bring more happiness to the world! With that excitement, the question came to mind - how can I quickly ramp up and become a contributor in this developer role?
I recognized that thanks to my time in GE Healthcare’s rotational leadership program, my experience in ramping up quickly was quite high. Starting with my internship during my university years until the first day at Disney, I had onboarded into development teams a total of six different times.
Still not feeling 100% confident on how well I did this, I started answering my question by reading a recommended book: The First 90 Days: Proven Strategies for Getting Up to Speed Faster and Smarter. By taking the ideas from the author and matching them against my experiences, I was ready to start my Disney career off with a bang!
The first 90 days were key!
90 Day Plan
The 30, 60, and 90-day points each have objectives for starting off the new role on a high note.
After completing the official company developer onboarding process, find time on your new manager’s calendar or send over an email. The objective of this call or email? Understand their expectations, learn the team process for onboarding, and ask any questions to help create a plan to complete everything that’s expected on time.
The first month begins with learning about the product and getting to know who you’ll be working with!
First 30 days: learning the product & your team
Software Engineering requires collaboration and respectful technical debates as we find solutions to challenges or features together - a strong team bond makes that easier. The first 30 days establish that bond.
Get to know your teammates:
If the team you're joining automatically sets up a time to give overviews of different parts of the tech stack, then take time at the beginning of each session to learn more about their story, how they became a member of the team and their areas of expertise.
Otherwise, set up coffee catch-ups with each teammate instead for the same reasons.
Learn the product and product goals your team supports
At the most basic level - the reason you’ve been hired boils down to filling a resource gap or solving a specific business challenge. This could be supporting an internal business unit or developing an externally sold product.
In both instances, understanding why your team was created and about the business side of the product gives you the purpose and motivation behind your work.
Understand your partners
How does a feature go from ideation to implementation? Does it start with the product team, get passed over to design, then finally make it to the development team?
Who are the product team members that align with us and which designers pass over their ideas? Do we depend on or do any other tech teams depend on us?
Having the answer to these questions will make us a more effective contributor - understanding the partners, users, or designers flow strengthens the partnerships that contribute to successful product development.
Set up local environments
During the onboarding period, the responsibilities we have on the team are at its lowest. Taking advantage of this by setting up and organizing local dev environments accelerates productivity levels in the future.
It’s common that you will be asking for help from teammates when issues come up, so take this opportunity to ask various people on the team. You can see who fits with your learning style best and give the opportunity to bond over fixing anything that needs to be updated in ReadMe files.
Days 30-60: getting to know the code bases
Code bases vary in size and being familiar with all aspects of them takes time. After the initial focus on your team and teammates, the next step is to familiarize yourself with the code-bases managed by the team.
Understanding each repo’s structure and patterns
The first step for learning a new code-base starts with comprehending the general flow, patterns, and directory structure of the projects within your team’s GitHub organization. These fundamentals will allow you to begin taking on smaller sprint tickets with a general knowledge of where to begin the implementation.
Ask your new teammates where they might start and if they have any tips for understanding it faster. High-level overviews can be very helpful in this step.
Take time to review the codebase
Every development team has different build processes and team conventions. By utilizing the time during the developer onboarding to look through and note questions to ask teammates, you can avoid early mistakes that will be caught during your first PR submissions. Over time you will become more familiar with the different features of the app you support and the nitty-gritty details of the code that makes them happen - starting small at first works wonders in this process.
If it helps, creating mind maps or diagrams visualizes the new flows.
Days 60-90: Getting to know the resources and processes
Now that you’ve taken the time to learn the basics of the code you’ll be working within the role, it’s time to start taking on more complex features. You should have a good idea of areas in the codebase you might not be familiar with, for example, a new framework or library.
With most of my experience with Polymer and React before starting at Disney, I had to pick up Angular quickly to be able to contribute features on the front end - taking a training course made this much easier, and thankfully my manager gave me the time to do so during the first 90 days.
Completing the plan
Starting with a plan that has buy-in from your manager helps us accomplish important objectives by the end of the first 90 days.
You will have a stronger bond with your teammates, understand team processes, and a fundamental understanding of the applications you now help support.
Ramping up quickly and showing that you can be part of the team helps us blend in, which you should be doing before standing out!
Blend in before standing out
There’s an interesting story about Jacques Pepin, a world-renowned chef who took a job deciding the menus at Howard Johnson’s, over an opportunity to be the White House chef during the Kennedy administration.
With a reputation to get such a job, on his first few days he could have gone straight to the menu creation. But instead, he wrote about his approach in The Apprentice: My Life in the Kitchen:
“...Mr. Johnson rightfully felt that if I was going to be designing menus for his chain, then I should have a first-hand understanding of how things worked on the line in the biggest and busiest HoJo's in the company. Fortunately, I knew the cardinal rule of getting on with one's fellow cooks. It applies in any kitchen and can be summed up in two short words: bust ass.”
The takeaway from Jacques Pepin and his story is this:
Before you start suggesting improvements and workflows, switching up code standards, or mentioning the things you don’t agree with on your new team, first take time to blend in and find out why things are that way. Show you can contribute to the code base and earn the respect of your teammates as a technical expert first, before starting to suggest large improvements or state gaps you see.
Building up this credit will allow you to start introducing improvements in the future, at the right time, with the respect and credibility required to get them accepted into the team.
Ramping up in a new job sets you up for long-term success in the role. Setting an intentional plan and delivering on that plan inaugurates your first impressions on a positive note.
It’s obvious these days that changing roles and teams is part of our career, so having a plan and taking advantage of the first 90 days makes a huge difference each and every time!