No matter how long youβve been working as an engineer, working on a new codebase is going to be confusing as hell. Not only are you likely using a new language, the team has a different style than youβre used to, different frameworks, and a completely new set of tools.
So⦠how do you ramp up quickly?
These are the 3 ways that I personally use to ramp up to a new codebase:
Starting with one focus area
Pair programming
Customizing your IDE
Now letβs get to it!
1. Starting with one focus area
If youβre starting on a new team or codebase, chances are there are 100 new things to learn about.
Different products
Automated testing
APIs
Databases
etc
When youβre ramping up your first month just focus on one of these things. If your onboarding buddy hasnβt already set this up for you, ask them if you can spend the month working on bugs/tasks in just one focus area. Ideally something close to what the team is working on now.
Itβs easy to feel the pressure of trying to master everything on the team so you donβt feel behind, but I find it way more productive to start mastering just one part of the teamβs codebase.
2. Pair programming
The opinions on pair programming can be divisive, but personally Iβve found pair programming to skyrocket my success as an engineer. Usually I ask someone more experienced to code with me for around an hour while I work on a task that was assigned to me.
What I enjoy is that you have someone with you answering questions in real time instead of you having to stumble around finding outdated docs. There are likely nuanced things in the code that arenβt documented well and you save a lot of time learning these things directly from experts.
If youβre currently onboarding to a new codebase, try asking this to your mentor or someone on the team:
Hey! I just picked up TASK-1337 and was wondering if you could pair with me on it for an hour.
I donβt have any questions yet but itβd be really helpful for my onboarding if I could get feedback and ask questions in real time.
3. Customizing your IDE
I beg of you, DO NOT LEAVE THE DEFAULTS ON FOR YOUR IDE!!
Thereβs nothing more painful for me than watching an engineer fumble through their IDE trying to make changes, some examples:
Struggling to go back and forth through the codebase
Unable to search for functions quickly
Consistently struggling with merge conflicts
If youβre not sure where to start, Iβd recommend finding a senior or staff engineer on your team and asking about their setup. You can copy theirs and modify yours as you continue to grow.
Do you have any tips on how to onboard to a new codebase? Let me know!
Thanks for reading,
Eden
Keep reading with a 7-day free trial
Subscribe to Get to Staff πͺ to keep reading this post and get 7 days of free access to the full post archives.