↓ Skip to main content

·136 words

Most of my programming career has been focused on keeping things simple and eschewing premature abstractions summarized aptly by: “duplication is far cheaper than the wrong abstraction”

Existing code exerts a powerful influence. Its very presence argues that it is both correct and necessary. We know that code represents effort expended, and we are very motivated to preserve the value of this effort. And, unfortunately, the sad truth is that the more complicated and incomprehensible the code, i.e. the deeper the investment in creating it, the more we feel pressure to retain it (the " sunk cost fallacy"). It’s as if our unconscious tell us “Goodness, that’s so confusing, it must have taken ages to get right. Surely it’s really, really important. It would be a sin to let all that effort go to waste.”

https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction

Alper Cugun
Author
Alper Cugun

Related

·29 words
A thorough and hugely insightful breakdown of six software rewrites with the conclusion that you can always create something new without throwing away the value you already have.

·21 words
In this comprehensive list of matureness in engineers, John Allspaw elaborates on many of the non-technical skills that constitute seniority.

·44 words
The things that will actually allow you to hire great engineers are things that are very hard to quantify, as listed in this article: