DEV Community

Iteration Podcast

Onboarding into a new codebase ๐Ÿ‘‹

Today's topic:

Onboarding into a new codebase

As a new hire / contractor for a freelance project

From JP:

  • Reviewing other people's PRs on a new codebase
  • Submitting your first PR
  • Understanding how data flows through the app
    • I've found that the organization of the code and the quality of abstractions makes or breaks this point
  • Ramping up complexity of feature stories that you can tackle. How do you get there?

From John:

  • First โ€”ย Understand the domain, talk with team, read books, use competitor software, language in that domain.
  • Then โ€”ย Understand the software
    • Read the Docs, all that you can get your hands on
    • Review closed issues / tickets, try to understand the language /culture of the team
    • Review the tests, this is a good place to start if there is any, especially integration or feature tests that are higher level
    • Find the "God" objects if you can.
    • Write docs as you go, great way to get it into your head

Onboarding someone else onto a new codebase

From JP

  • Hiring contractors for a project
  • Onboarding new hires
  • Reviewing new hires' pull requests **it's own episode maybe? Code Review?**
  • How do you onboard someone else?
    • I think domain context is important

From John

  • Support the advise given above! It's just the reverse
  • First: Domain Context
  • Then โ€”
    • Provide Docs
    • Tests
    • Simple first issue
  • Pair on the onboarding Dev's first PR VS sink or swim
  • Try to demonstrate what tools and process you use in a project

Picks

JP: https://apps.apple.com/de/app/meeter-fast-call-initiation/id1510445899?l=en&mt=12

John:

  • Rails View Components
  • It's a new pattern in rails to produce reusable front end "Partials" but more abstracted and re-usable.
  • This pattern plus stimulus.js is really magic.

Episode source