Discussion about this post

User's avatar
Jan's avatar

For greenfield projects you should absolutely do what is most current and makes the most sense.

But I’ve also seen the opposite mentality, which is that just because something is old means it’s bad, and the current team could do SO much better if we just rewrote it in X language (go, rust, kotlin, etc).

Such rewrites (and often smaller refactors too) fail to take into account the countless bugfixes (and untested, undocumented behaviors) that are the result of an issue discovered and fixed 5 years ago by an engineer who no longer works at the company. And the frontend depends on the old behavior so by refactoring the backend to what seems “right” you’re actually breaking things, for no real gain.

Of course old things need to be fixed because they accumulate a lot of cruft when not actively pruned and cleaned up. But when doing so, you have to exercise caution and test it well!

Expand full comment
Stefania Barabas 🐾's avatar

Great article, Alex! I love the analogy !! 👏

Expand full comment
5 more comments...

No posts