“Any fool can make things bigger, more complex, and more violent. It takes a touch of genius-and a lot of courage-to move in the opposite direction” said Albert Einstein. I’ve been writing code for over 25 years and one thing that I see is in short supply over and over again is simple well thought out code.
I can’t put my finger on why this is, but rarely do I see code that is simple and that I can follow with ease. Mostly I see very complex code with execution paths intervened like spaghetti in the bowl. It is not that work code is attempting to do is complex, it usually is not, it’s that solution implemented is convoluted. I think it is result of unclear thought processes or perhaps inexperience, but it still does not explain why people with seemingly lot of experience still write complex code. Or perhaps it does. Simple code requires conscious effort while convoluted one comes out without much thought.
So if you want to elevate your coding skills, you should as part of your development process, devote time for simplifying your code and architecture. There has to be the time where you look at your code and prune, prune, prune. And if you can’t find anything that you can make simpler and easier you are not looking hard enough.
The finest language is mostly made up of simple unimposing words.