A master pianist doesn’t just play the piano. She is one with the piano. Years of intimate practice now allow her to use the piano as an extension of her body. There is no friction – just pure grace. You sense her greatness at the very first keystroke.
We call extremely productive engineers 10x engineers, but I prefer to call them exceptional engineers. The exceptional engineer is like the master pianist, approaching engineers as a craft, not a job, and dedicating themselves wholeheartedly to mastering it. Like the master pianist, when you watch an exceptional engineer in action you need to pinch yourself… just to double check.
Can we engineers learn something from the master pianist and her 400 year old craft?
I think so.
Crafts and Jobs
The average Monday of the pianist and the engineer couldn’t be more different.
The pianist has eight hours of completely uninterrupted quiet time. Between meetings, email, Slack, and bugs, the engineer would be lucky to have one
The pianist spends this whole time practicing specific skills with intense focus. The engineer spends her little time just trying to get the most urgent thing done
The pianist is working only for herself and for the craft. The engineer is working for everyone but herself
If one of the two is going to master her craft it is the pianist.
Exceptional engineers get this. They don’t let the job get in the way of their craft. The craft is above all.
Let me give you an example. At Facebook, I worked with an engineer who was quite literally 10 times better than everyone else at writing data pipelines. How did he do that?
While he was exceptionally smart, exceptionally dedicated, and exceptionally everything, his dedication to improvement – and prioritizing improvement above everything else – is what made the difference. The challenge with data pipelines is the time it takes to run them, making the iteration cycle very long. Over years of intentional practice he developed a technique to do this 10 times faster. He knows how to break data pipelines into small pieces, run them on small pieces of data, and work on independent pieces in parallel. He literally had his own tooling and approach for doing this exceptionally well. I was watching a master up close.
In contrast, when I had to write data pipelines I just copied/pasted stuff and brute forced the thing to work. I got the job done but improved very little in the process. This is how most of us approach engineering – get the job done and move on.
This explains why competitive programmers often become exceptional engineers. They are conditioned early on to practice their craft to perfection. They know from experience that just doing without practicing won’t get them the medal.
Not Learning by Doing
The master pianist will tell you that playing and practicing must not be confused. Playing will only get you so far, but to really push your boundaries you must be practicing, deliberately, to make any progress.
In fact, at the highest levels just playing without practicing will degrade your skills. It allows bad habits to set root and good ones to dissipate.
100% of engineers are coding but only 1% are coding and practicing. This 1% also happen to be the ones who become exceptional. The other 99% completely plateau after a few years in the job market.
Now don’t get discouraged. I’m not advocating for 8 hours of intense coding practice every day – that is not feasible. The truth is that any mix of doing and practicing is infinitely better than just doing.
Practicing On The Job
There are 3 key elements to deliberate practice:
Intention - practicing a very specific skill
Frequency - practicing every day
Focus - practicing with intense focus
The hardest thing about practicing is true commitment – I can’t help you with that.
With commitment, the best approach to consistent practice is finding harmony between work and practice. Here are some ideas:
Put 1 hour aside every day just for practice. It can be the very beginning of your workday. Every reasonable workplace should encourage you to do this
Prioritize specific skills based on your own interest, your actual work, and input from your co-workers. It can be anything as deep as studying the source code of the database technology you are using to speeding up your typing. Nothing is beneath or above you (how to do this is well is a topic for another article)
Always pick challenging projects. Try to align these projects with the specific skills you’ve prioritized
When doing your work, spend 80% of your energy on getting it done, but 20% on improving how you’re getting it done
Find a peer who wants to do the same and keep each other accountable
The fun thing about deliberate practice is how effective it is. Once you’re on a roll you’d be amazed by your own progress. The cool thing about it is how quickly it becomes a habit. But I’d be lying to you if I said that it ever gets easy.
Allow Your Edge to Compound
The #1 reason that practice makes perfect is that it gives you an ever growing edge. It is called The Matthew Effect for unclear biblical reasons and looks something like this:
This essentially means that if you’re better you’re going to improve faster. Here’s why:
A slightly better engineer will get a slightly better job with better people to learn from
A slightly better engineer will have slightly better judgment as to what to learn next
A slightly better engineer will be able to learn something that is slightly harder
A slightly better engineer will be able to learn slightly faster
A slightly better engineer will be slightly better at becoming better. Don’t waste time compounding your edge. Start early and persist.
Average engineers go to their average jobs and do average things. They improve at an average rate and have average careers.
Nothing is wrong with that, as long as it is the result of conscious choice.
The exceptional engineer understands something that the master pianist learned a long time ago. That the craft cannot be mastered just by doing. That it is practice that leads to above average improvements that compounds over time to nearly inhuman skills. And that life is too short to just be average.
Exceptional engineers are not inherently better. They just practice when everyone else is doing. They sacrifice themselves to the craft, not to their current employer. They understand that the short term only matters in the long term context. They practice with great intent, high frequency, and intense focus.
You can do it too. The best day to stop being average is 10 years ago. The 2nd best is today.