Simplicity itself is a process not a goal, it is something that is part of a process. One can not just make a simple application. The idea of simplicity as a technique means that as we develop software, we actively design towards the simplistic. It comes down to questioning ourselves and others “Can this be simplified?”
The hardest lesson to learn for me was: to design for what is, not what could be. We as developers try to flush out possible scenarios of what if, we want our designs to be as flexible as they possibly can be. We try to preemptively solve problems, because we see this as being good engineers. This turns out to be the point in the development process where an application can go from being clean and functional to a Frankenstein’s monster of features.
If we just can step back, slow our impulsive nature, and our desire to solve every problem. We can begin to understand that simplicity is a integral part of becoming a disciplined, and efficient developer.












