Its your first day on the job. Your heart is racing and you’re nervous as hell. Where do you start? How will you learn the codebase? What if you mess up your first PR? These are all normal thoughts to have when you’re just starting out. Whether it’s a new role, company or career in software engineering, learning the right approach takes time and effort.
In this article, I want to provide various tips in no particular order for the newbie developer. Even if you’ve been around the block once or twice, a refresher never hurts.
Don’t randomly read through the codebase
This happens all the time and its really easy to get caught up in. You start at a new company and decide the best way to learn how things work is by sifting line-by-line through a gigantic codebase.
Unless you’re a robot, trying to grok a full codebase will take you years. There’s merit in reading specific areas if you’re curious, but trying to learn this way is not efficient for most developers. Also, don’t feel like you have to read the whole code base. It isn’t some ritualistic right of passage.
A better approach is to get your hands dirty with targeted areas of code. Jump in and help out fixing bugs, see if you can add a small feature, or just try to get part of it running on your machine to mess around. More often than not, you’ll learn more about how things function by actually using them.
If you’re hunting for something specific ripgrep will be your new best friend.
Read and search through documentation (if there is any)
While you’re getting your feet wet, it helps to read through any existing documentation for the area you’ll be working in. If there are tutorials or architecture overviews then you should be tearing through them to learn as much as you can.
The documentation is there for a reason. To arm you with the information you need to do your job. If you don’t bother to read it you’ll only piss off your team by asking obvious questions that force them to link you to the docs. Read it, search through it and make full use of any existing docs.