Do you remember the last time you jumped into a new large codebase?
I'm talking about thousands of lines of code or more.
Spread across hundreds of files.
At that scale, the complexity of the code simply dwarfs your ability to grasp everything it’s doing. If it takes a lot of time to build a large system, it also takes a lot of time to understand it.
But your time is precious.
You're a professional.
You need to dive into unfamiliar codebases and get information quickly.
Would it be great if there were a formula for navigating large codebases?
Just think how useful that would be! Onboarding to new teams, jumping into new projects, contributing to open source repositories — all of that would be easier. It'd be like driving a car. Learn how to drive one car, and you can drive any (well, as long as they're not stick-shift 😅).
The problem is no one teaches you how to onboard or quickly familiarize yourself with a new codebase. That's precisely what this module will teach you.
There are two types of codebases you'll always have to navigate in your career: internal and third-party. The ideal would be to cover both. But since I don't work at the same company as you and most codebases are confidential, we can only cover the latter.
Using a real TypeScript open source project, you're going to implement an existing PR in an open source project called testing-library/react-hooks-testing-library.
Re-fixing old bugs is an incredible way to learn, and even improve, the original solution. We took this route to save time and focus on our goal: learning to navigate a TypeScript codebase.
Through this module you will learn how to:
- Navigate a TypeScript codebase with the F.C.T.T. formula
- Learn tips specific to TypeScript codebases
- Write tests to reproduce bugs
- Improve the original PR solution
- Practice making a good PR on GitHub
- and much more!
Don't worry if you don't know those answers yet. As you progress through this module, you'll be able to answer those questions!
What do the best engineers do when they're navigating a new codebase?
- How do they make sense of it?
- How do they jump right in?
- What intuition have they developed?
One skill that separates good engineers from highly effective engineers is diving into unfamiliar codebases and getting information quickly.
They've built an intuition over time with their experience.
Your goal is to focus on the patterns and tools they use to develop this intuition faster.
It will take time and repetition, but this module will enable you to navigate both internal and external TypeScript codebases effectively and with poise.
Ready to start?