Mistakes engineers make in large established codebases
Working in large established codebases is one of the hardest things to learn as a software engineer. You can’t practice it beforehand (no, open source does not give you the same experience). Personal projects can never teach you how to do it, because they’re necessarily small and from-scratch. For the record, when I say “large established codebases”, I mean: I’ve now spent a decade working in these codebases. Here’s what I wish I’d known at the start. There’s one mistake I see more often than anything else, and it’s absolutely deadly: ignoring the rest of the codebase and just implementing your feature in the most sensible way. In other words, limiting your touch points with the existing codebase in order to keep your nice clean code uncontaminated by legacy junk. For engineers that have mainly worked on small codebases, this is very hard to resist. But you must resist it! In fact, you must sink as deeply into the legacy codebase as possible, in order to maintain consistency. Why is co
Working in large established codebases is one of the hardest things to learn as a software engineer. You can’t practice it beforehand (no, open source does not give you the same experience). Personal projects can never teach you how to do it, because they’re necessarily small and from-scratch. For the record, when I say “large established codebases”, I mean: Single-digit million lines of code (~5M, let’s say) Somewhere between 100 and 1000 engineers working on the same codebase The first working version of the codebase is at least ten years old I’ve now spent a decade working in these codebase
Explore this link on the map →saved by
related reading
- Scaling LLMs to larger codebases - Kieran Gillblog.kierangill.xyz
- AddyOsmani.com - 21 Lessons From 14 Years at Googleaddyosmani.com
- Things You Should Never Do, Part I – Joel on Softwarejoelonsoftware.com
- A Bunch of Programming Advice I'd Give To Myself 15 Years Ago | Marcus' Blogmbuffett.com
- Mistakes I see engineers making in their code reviewsseangoedecke.com
- "We ran out of columns" — the best, worst codebase — Jimmy Millerjimmyhmiller.github.io
- What is "good taste" in software engineering?seangoedecke.com
- Thoughts on slowing the fuck downmariozechner.at
- 5 Things I've Learned in 20 Years of Programming - DaedTechdaedtech.com
- Repeat yourself, do more than one thing, and... — programming is terribleprogrammingisterrible.com
- I Finally Learned How Senior Engineers Read Code (It’s Not What You Think) | by Dua Asif | Activated Thinker | Mediummedium.com
- Software Engineering at Googleabseil.io