How To Be Better Than a Genius Programmer—The Simple Way
If you’ve been programming for a few years, you likely will have come across a Genius Programmer or two. You may be sitting next to one right now.
Genius programmers are easy to spot—they’re the ones who know even obscure programming frameworks in intimate detail. They love exploring the quirks and idiosyncrasies of a computer language. Anyone not coding 16 hours a day doesn’t even come close.
In Praise of the Genius Programmer
The Genius Programmer is excellent. Programming challenges confounding mere mortals crumble before their skill at the keyboard. They get the job done and double-quick too. Management loves them for their productivity and holds the Genius Programmer up as a model to be emulated.
Trouble in Paradise
But not all is well with the Genius Programmer. A huge blind spot holds them back from being a genuinely productive genius: Their code is overly complicated for all its brilliance and correct working. Furthermore, only they can touch their code since they’re the only ones who can understand what it’s doing.
The 5 Levels of Cognitive Prowess
As the story goes, Albert Einstein proposed a system of 5 levels for measuring intellectual prowess:
- ???
- Genius
- Brilliant
- Intelligent
- Smart
At the bottom is merely Smart. Then it’s Intelligent, followed by Brilliant.
Genius is at 2. Genius is not Number One. What’s better than genius?
According to Einstein, Simple is.
Here is the complete list:
- Simple
- Genius
- Brilliant
- Intelligent
- Smart
Simple is at number 1. Simple beats the pants off genius.
How does this apply to me and programming?
It’s genius to meet a programming challenge with a complicated solution. However, a simple solution is even better. Writing simple code represents true programming genius.
The Simple Programmer Outperforms the Genius Programmer
Simple code is agile code. This deceptively short sentence hides all manner of ignore-at-your-peril truths for programmers and their organisations:
- Complexity breeds more complexity. Entropy naturally builds up in our universe, and it takes effort to reverse this trend locally. Indeed, the lazy action is to write complex, hard to understand programs. We’re paving the road to ruin.
- Writing simple code is hard. For us programmers, condensing the correct level of meaning into a function, module or component is difficult. It takes a persistent strong desire to improve, years of experience, practice and training to get to a point where we can write clean, clear code. While challenging, this journey is worthwhile and cognitively rewarding.
Another quote on the essence of simplicity from Einstein:
“Make things as simple as possible but no simpler.”
And two more from the ultimate Renaissance Man, Leonardo da Vinci:
“Simplicity is the ultimate sophistication.”
“A poet knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.”
So, which would you rather be? A Genius Programmer or a Simple Programmer?
Leave a Reply
Want to join the discussion?Feel free to contribute!