
Overcommitted | Software Engineering and Tech Careers Insights Learning a New Codebase: Strategies for Software Engineers | Onboarding Tips
Join Erika, Bethany, Jonathan, and Brittany for a deep dive into one of every developer's most common challenges: learning a new codebase. Based on Brittany's popular GitHub blog post, this episode shares battle-tested strategies for getting up to speed quickly—whether you're joining a new team, switching projects, or contributing to open source.
Working on large-scale systems at GitHub has taught these engineers that you'll never understand everything, and that's okay. The key is knowing where to start and how to build knowledge efficiently while staying productive.
Practical strategies discussed:
- Starting with a single issue to avoid overwhelm
- Creating personal documentation as you learn
- Using pair programming to accelerate onboarding
- Leveraging GitHub Copilot for code explanation and documentation
- Reading telemetry and Sentry alerts to understand system behavior
- Using debuggers to trace code execution paths
- Setting up 1:1s with engineers, PMs, and designers for domain knowledge
- Finding good first issues in large codebases
- Generating entity relationship diagrams from database schemas
Key mindset shifts:
- Getting comfortable with not knowing everything at scale
- Understanding abstraction boundaries through hands-on work
- Distinguishing between lack of experience vs. understanding
- Recognizing your contribution's place in the larger system
Spicy hot takes segment: The hosts share their biggest code base pet peeves, including outdated README files that don't work, stale TODO comments from years ago, unhelpful PR templates with required fields, and distributed systems that won't run locally.
Whether you're onboarding to a new team, exploring an unfamiliar microservice, or diving into an open source project, this episode offers actionable advice for confident, efficient code base learning.
Links
Hosts
- Bethany Janos: https://github.com/bethanyj28
- Brittany Ellich: https://brittanyellich.com
- Eggyhead: https://github.com/eggyhead
- Jonathan Tamsut: https://jtamsut.substack.com/
