The Tip of the Software Developer Icebergš§
Hiding complexity
We have a problem in software engineering, and this is represented by the programming meme at the top of this article.
That problem? Itās the illusion of simplicity.
The Problem
As software engineers we have an acronym āKISSā ā Keep It Simple Stupid.
We are all aiming to create clean code that is simple to understand, quick to create features and easy to maintain.
To say such things feels rather easy and is a stick that we can beat junior developers with, but unfortunately, things are not quite that simple.
What looks like clean and elegant code rests upon an iceberg of setup, config, boilerplate code, error handling, knowledge, testing and hard-won experience.
This is that old idea of a duck gliding along on a pond, hiding the frantic paddling going on beneath the surface of the water.
Since we are hiding the complexity of our work, we are giving the impression anybody can code, and anyone can produce that feature required by your product owner. This is nowā¦