DEV Community

Discussion on: Would You Rather Work on a Legacy Codebase or Brand-New Tech Stack?

Collapse
 
abbeyperini profile image
Abbey Perini

It seems like most people prefer building something brand new, free from other people's choices. You can learn a lot about architecture and design that way, but you have to stick around for a while to see the long term consequences of those decisions. Plus, you can get stuck in your or your team's way of doing things.

All my professional experience has been working in legacy/brownfield projects, and the lessons learned have been invaluable. I wrote 8 Things I learned Working in a Legacy Codebase a while back. Now, I'd say the benefits are

  • Lots of reading other people's code. Good or bad, you learn a lot.
  • Learning how to build iteratively and pick your battles, because you can't fix everything at once.
  • Seeing how architecture decisions can make your life easier and harder.
  • A lack of documentation is an opportunity to create the documentation you want to see, and explaining it to someone else is a great way to learn it.
  • You get really good at troubleshooting/squashing bugs, because you're usually starting your investigation from scratch with no idea which part of the code it is and no assumptions about how that piece of code works.
Collapse
 
ben profile image
Ben Halpern

Thank you for this perspective!