23

How can I learn a large codebase fast as an intern?

Profile picture
Software Engineering Intern at Samsara2 years ago

I try to learn by breaking stuff, but I think that stops working for larger and more complex systems. I also do a lot of grep-ing (e.g. figuring out where a function is called).

I've been able to steadily build my understanding of the Samsara codebase, but I would like to move faster as I have high goals for my internship.

840
1

Discussion

(1 comment)
  • 14
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago
    • The 2 core pieces of understanding a codebase
      • Envisioning the collection of components and their flow
      • Actually understanding how the components you care about line-by-line, so you can make the proper changes
    • Most powerful technique: Get someone to explain it to you at a high-level. For interns, book 30-45 minutes with your mentor; that's what they're there for and you have a very limited time window to deliver as an intern.
    • Use a ton print statements and the debugger to understand the overall component map. After you identify the few pieces you care about, then you can use the "break stuff" technique to deeply understand them line-by-line.

    Related resources: