How to learn a new codebase very quickly [Technique Tuesdays]
Use these steps to hit the ground running.
To learn more about the newsletter, check our detailed About Page + FAQs
To help me understand you better, please fill out this anonymous, 2-min survey. If you liked this post, make sure you hit the heart icon in this email.
Recommend this publication to Substack over here
How can you go through insanely large and complex codebases quickly to start making an impact,
You’re a reader of the best tech newsletter, and you’ve made some career gains. You have started work at a new organization/team. More pay and more interesting opportunities, but you now have to take some time to learn the code base. Eeewwwwwww
Even more problematic when they don’t have perfect documentation. In such cases, you’re going to be in a lot of pain, as you meander through files and repos trying to put things together. Fear not my friends, the Most Woke has the antidote to your problems. Read this super-duper awesome guide to become much better
Important Points
The biggest struggle in Understanding a new Code Base- It’s not a lack of comments. Not badly written code. No also not the language it’s written in. These are all true, but they are all examples of a much bigger problem. You struggle to understand a code-base/new project because you don’t understand the context behind the code base.
Okay… so what- To understand a code base quickly, understand the why. Why does it exist? What problem is it solving? Then move on to how it’s solving this problem. Not the technical details. Just what makes it useful. After this gain a high-level understanding of each of the big components of the system and how they contribute to the desired end goals. Not the specific details, just what the purpose of their existence is.
After this- Now you’ve got the background steps sorted out. It’s time to get to step 1. Pick the component you think you would have the best chance of understanding. For me this would be the AI/Processing systems. Depending on your skills, this will be different. Then go very specific. Pick a very small piece of this component (I like to go with the ending functions of a pipeline) and understand that piece well. Once you know what that piece is and what it does, start expanding your knowledge from there.
What if you get stuck- If you get stuck on a particular component/step, skip it. Move on. Treat it like a black box (of course the Machine Learning guy says this). Just understand what it takes as input, and what it generates as output. Skip everything else. No point in beating your head against the wall. Given enough time, you’ll learn what you have to.
To those of you familiar with my Math is Language post, you will notice that this approach is quite similar to that. That is because coding and Math are very similar. Both require an ability to express abstract situations in ‘concrete’ ways that people can interact with. This is why Math Majors have an easier time transitioning into Coding. Math and coding require the same kind of thinking. If you’re looking to develop your math skills, check out my post on how to learn Math below.
To finish up, I’m sharing a 1-minute video on a similar topic created by Rahul Pandey. He puts out great information on his channel and other platforms. I even recommend his newsletter on Substack- Tech Career Growth - Alex + Rahul. On this topic, I like his techniques of using logs and breaking code for learning new codebases or programming languages quickly. I don’t agree that you try to get coding ASAP. I’m a believer in taking a step back, looking at the bigger picture, and then picking tiny pieces from there. Working with the end in mind makes it easier to identify important value adds. That said, he’s a fantastic creator and I’m linking his video so you can take a look and make up your own mind. See which approach (or a hybrid) works best for you.
I created Technology Interviews Made Simple using new techniques discovered through tutoring multiple people into top tech firms. The newsletter is designed to help you succeed, saving you from hours wasted on the Leetcode grind. I have a 100% satisfaction policy, so you can try it out at no risk to you. You can read the FAQs and find out more here. Use the button below to get 20% off for upto a whole year.
Before proceeding, if you have enjoyed this post so far, please make sure you like it (the little heart button in the email/post). I also have a special request for you.
***Special Request***
This newsletter has received a lot of love. If you haven’t already, I would really appreciate it if you could take 5 seconds to let Substack know that they should feature this publication on their pages. This will allow more people to see the newsletter.
There is a simple form in Substack that you can fill up for it. Here it is. Thank you.
https://docs.google.com/forms/d/e/1FAIpQLScs-yyToUvWUXIUuIfxz17dmZfzpNp5g7Gw7JUgzbFEhSxsvw/viewform
To get your Substack URL, follow the following steps-
Open - https://substack.com/
If you haven’t already, log in with your email.
In the top right corner, you will see your icon. Click on it. You will see the drop-down. Click on your name/profile. That will show you the link.
You will be redirected to your URL. Please put that in to the survey. Appreciate your help.
In the comments below, share what topic you want to focus on. I’d be interested in learning and will cover them. To learn more about the newsletter, check our detailed About Page + FAQs
If you liked this post, make sure you fill out this survey. It’s anonymous and will take 2 minutes of your time. It will help me understand you better, allowing for better content.
https://forms.gle/XfTXSjnC8W2wR9qT9
I see you living the dream.
Go kill all and Stay Woke,
Devansh <3
To make sure you get the most out of Technique Tuesdays, make sure you’re checking in the rest of the days as well. Leverage all the techniques I have discovered through my successful tutoring to easily succeed in your interviews and save your time and energy by joining the premium subscribers down below. Get a discount (for a whole year) using the button below
Reach out to me on:
Instagram: https://www.instagram.com/iseethings404/
Message me on Twitter: https://twitter.com/Machine01776819
My LinkedIn: https://www.linkedin.com/in/devansh-devansh-516004168/
My content:
Read my articles: https://rb.gy/zn1aiu
My YouTube: https://rb.gy/88iwdd
Get a free stock on Robinhood. No risk to you, so not using the link is losing free money: https://join.robinhood.com/fnud75