There's a handful of software developers on the planet today that seems to be "super human software developers". Linus Torvalds, Alan Kay and Steve Wozniak being some of the primary candidates. They all have one thing in common, which is they've done a lot of the thing that they're good at - Something I explain in my previous article.
Becoming a super human software developer is actually incredibly easy. Do the same thing over and over again, extract learning from the process as you're iterating, and repeat a bajillion times. To write it out in code, imagine the following.
10 PRINT "Create a Software project"
20 PRINT "Learn from process"
30 GOTO 10
If you apply the above code snippet to your brain, and let it run for a couple of decades, you're a super human software developer. In a way it's the "wax on, wax off" thing from Karate Kid. You learn something without realising you're learning it. Over time the projects you're participating in, and the code you're creating, converges into new knowledge and wisdoms. The code you're creating basically becomes a part of your autonomous nervous system, enters your subconsciousness, and facilitates for changes in your brain, that permanently changes your ability to create software.
A friend of mine once asked me what the largest myth in the software development industry was, and what most people did wrong. My answer was as follows.
- The largest myth is that software development evolves fast, and that it's difficult to keep up with the industry because of all the new things we have to learn. Facts are the last brilliant invention our industry collectively created was LISP, and it was invented in the late 1950s. There's been little innovation in software really the last 70 years.
- The thing that most people do wrong is to believe they have to learn new things to keep up with the industry. Facts are, learning new things is a red herring, and keeps the individual from evolving and becoming better.
Of course, the above is a little bit exaggerated, but the average software developer only spends 20% of his time creating and debugging code. The rest is lost in meetings, reading documentation, and learning new things. If the average software developer spends 80% of his or her time coding, ignoring all the "new and shiny stuff", and create dozens of projects each year - Becoming a "super human software developer" becomes as natural as waxing your car. I walk through the arguments in the video below for those interested in the subject.
I'm 48 years old, I started coding when I was 8. My wife claims I'm spending more time with my computer than anything else, and that I love my compiler more than her. Still today, as the CEO of a successful startup, branching out to several countries on several continents these days, I still spend as much time as possible coding. In fact my profile page on our web page says.
If they want me to stop coding they'll have to carry me out of the office in a box
The day I stop coding I'm probably dead. Why? Because I simply love it. For me it's like a drug. It literally makes me feel high. When I enter the flow, everything else evaporates, and it's only me and my code. 15 years ago colleagues started referring to me as "the machine". The reason was that I could churn out 500 lines of code per day, easily, without even making a sweat. The average developer can produce roughly 550 lines of code per month. I can also read code faster than I can read English and Norwegian. This is only possible due to repetition, as in repeating the art of assembling software, over and over again, participating in hundreds of projects, while extracting meaningful knowledge from all of my projects. If you want to become a super human software developer, the recipe is really simple ...
Wax on, wax off!
Come back when you've waxed a million cars, and we can talk ... ;)