Many people including me struggle to understand large codebases, especially when we start at a new company. It might be due to legacy code or just size/complexity of the codebase.
Alex/Rahul have already advised on talking 1:1 with team members + breaking stuff to see how things work. I would still love to see a live deep dive on few large codebases to learn how you would get familiar with the codebase asap.
Would it be possible to make such a course?
Thanks!
That's a great idea! I think it could be a good focused 45-60 minute course - The tricky part is giving good high-level advice that can be applied to any codebase. The caveat is that having deep dives on large codebases is tricky as those belong to companies, and companies keep their code strictly confidential.
We'll do more thinking on this - Rahul has written some viral social media content about it, so he'll share more thoughts.
Alex/Rahul have already advised on talking 1:1 with team members + breaking stuff to see how things work. I would still love to see a live deep dive on few large codebases to learn how you would get familiar with the codebase asap.
My general advice is to try to fix a really small bug. You'll learn a lot about the build system, architecture, file structure, deployment that are unrelated to the actual code changes. In the process, you'll end up talking to different people that work on the codebase because you'll inevitably have a lot of questions that come up when you are fixing the bug.
I put a bunch of thoughts here: Understanding a new code-base.
(interestingly, this is also one of my most viewed Twitter threads)
A course on this topic is a great idea, it'd probably have appeal for many people (SWE interns, people new to Big Tech, etc).