Programming is boring art
&gt; There is nothing wrong with this function. Really. It does exactly what it should do with the least amount of code. In fact, this is probably what I want to deploy in production as well. But, it is inflexible.<p>It does one well-defined thing, and does it well! That&#x27;s the good kind of &#x27;inflexible&#x27;.<p>&gt; A skillful programmer looks at the problem and says, hey, why don&#x27;t we build an abstraction layer to make it more flexible?<p>In this example, the additional complexity just doesn&#x27;t seem justified. You ain&#x27;t gonna need it. [0] Unnecessary abstractions cause bugs, bloat, and baggage. The article then goes on to acknowledge this, but I really question the chosen example.<p>&gt; Just having these few abstractions opens up a lot of possibilities. Why? Let’s suppose that you have 3 different kinds of fetchers and 3 kinds of notifiers. Now, you can easily compose 3 x 3 = 9 different kinds of health checks.<p>You&#x27;ve just introduced an exponential explosion into your testing burden. The pay-off: additional functionality that <i>might</i> be useful later.<p><i>edit</i> On reflection I suppose it&#x27;s not a &#x27;exponential explosion&#x27;, it&#x27;s merely a &#x27;multiplicative explosion&#x27;.<p>&gt; Enjoy your programming life. It&#x27;s a fun art!<p>The article doesn&#x27;t go into detail on what it means here, but the more serious the software work, the less the artistic mindset applies. [1]<p>I think the most sensible approach to software engineering is to draw satisfaction from solving a challenging problem well. Things like &#x27;programmer freedom&#x27; strike me as false idols.<p>That said, I&#x27;m a sucker for elegance (a famously subjective commodity), so maybe I&#x27;m a hypocrite.<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;You_aren't_gonna_need_it" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;You_aren't_gonna_need_it</a><p>[1] <a href="https:&#x2F;&#x2F;www.fastcompany.com&#x2F;28121&#x2F;they-write-right-stuff" rel="nofollow">https:&#x2F;&#x2F;www.fastcompany.com&#x2F;28121&#x2F;they-write-right-stuff</a>