(Disclaimer: This article is aimed at creating a high quantity/quality output of code and not the aim of perfection. )
I bet you’ve already heard of super-star coders. You know, the kind of coders who get an idea, pull an all nighter (or more likely an all weaker), and single-handedly create the next facebook. In his book Coders, Clive Thompson explains the super-star coder as being someone who is highly sought out in successful businesses and startups. Despite being a little ego-centric (and driven to walk on water due to their God-like ability to talk to computers) one thing remains: These people can output amazing quantities of code.
Here’s how to become a superstar coder:
During the last 10 years, I decided to write a book ( and ended up writing 2). You might be thinking, there’s nothing special about this, but you’re wrong ( I see you, all of you!).
As I was saying, During the last 10 years, and writing my books, I stumbled across something that changed my life for the better, and integrated it into my toolkit as it became part of my process. While researching my books, I discovered my process of ideation (how my mind worked). Where I would read a tone of books, and from the specific subjects I read, I would hone in on specific types of ideas relating the subjects I had imbibed.
I would consume a specific amount of knowledge > reach a point of saturation > take a break and get a stimulus (go for a run, a walk or a cycle…) and then > Get a flow of ideas. There’d be times where I’d have to stop constantly to note down all my ideas… *
Now, do you see where I’m going? No? Ok, I’ll explain…
What type of content does a coder consume on a constant basis? And what are superstar coders famed for? That’s right, Ideation and writing code!
So, within my process, of (Input, process, output), It was easy for me to output those ideas onto paper, because I had trained as a writer. But, take someone who is trained to write computer code, and then consumes computer code incessantly before bed, at wake, … It’s not surprising to me that these superstar coders would be as prolific as they are.
And this is the secret.
You can become a rockstar coder too, once you know code well enough that you don’t have to refer to externals to write it. If you consume code on a daily basis, and it is fluent to you, you have a clear process / methodology that you apply nearly as second nature ‘its become automation to you’.
10000 Hours myth?
The Process of ideation:
Input (consuming X), Process (saturate, then stimulate), Output (capture processed code/content of consumption). = IDEA FLOW.
One has to know coding languages well enough to be fluent in them and also have worked their mind to understand the inherent logic that is needed in code (such as Pseudo code).
In the mind of a superstar coder, they will get to a point of saturation and eventually their mind needs to pour out coding results via ideas/inspiration. Extent of imbibed code + creative process = code flow state where they vomit up all the coding ideas that they’ve consumed.
Superstar coder’s consume code and systems type thinking before they reach ideation.
But once they reach ideation, they need a process or a funnel through which they can apply that inspired energy into for there to be an output of code.
The funnel/process goes a little like this**:
As a coder, you first want to ‘Visualise:’
1) How do the parts of the system communicate with each other? How does the data flow? 2) How can something be built in the best way possible? How can this be extended further?
Then, you start ‘Planning‘ and ‘Sourcing‘:
The planning phase is where we create the blueprint of what needs to be done.
1) How can this be as user centric as possible? What doesn’t work? What needs to be changed? How can we improve this as best as possible?
2) Plan how to fit the jigsaw together. Draw/visualise new parts of the system.
3) Where will this system get Data? How will it handle it?
And then ‘Prototyping’ :
1) These are essentially what the rockstar coder strives for, a materialisation of his vision, which generally come out as a visible prototype.
‘Stress Testing, Experimentation, Tweaks, Clean up .
Stress testing and experimentation are highly useful, although from here on its the editing phase. To make sure things are consumer accessible or simply shippable, which I won’t get into as the purpose of the article is the super High productivity through code.
I will say that Super Star Coders apply Two routines in addition to having mastered the understanding of coding languages. Its as simple as that. But it takes a lot of work to get to simple.
The ideation phase one gets from consuming code ( Input > Process > Output) needs to be injected into a Funnel (Visualise > Planning > Sourcing > Prototyping > Experimentation > Final tweaks and clean up) to produce the code required for the $Billion Dollar business.
*This is the underlying structure under how ‘Superstar coders’ become super star coders. They simply apply this routine in their lives. Only, they read code and their stimulus is related to coffee or Redbull.
** A Special thanks to (@Sergii Kirianov on Twitter) for his assistance on extrapolation of coding mental process that would become the Funnel for the ideation phase output.