Learning How to Learn: The Science of Excellence

I was having a conversation with a close friend of mine, she has the impostor syndrome (don’t we all :), and feels like she’s not good enough. She is a young engineer, and doesn’t believe she has what it takes to be successful, and do great things.

Usually, I’d remind her of how supremely talented, smart, brilliant and capable she was. She required that shot of motivation, of validation, to push over her current challenge, before she needed another reminder.

I thought some of us were born special and our achievements were a result of our inner genius. This mindset is common, and directly contradicts the ground breaking work of Carol Dweck in the Growth Mindset. Carol introduces the concept of the Fixed Mindset and the Growth Mindset.

“In a fixed mindset students believe their basic abilities, their intelligence, their talents, are just fixed traits. They have a certain amount and that’s that, and then their goal becomes to look smart all the time and never look dumb. In a growth mindset students understand that their talents and abilities can be developed through effort, good teaching and persistence. They don’t necessarily think everyone’s the same or anyone can be Einstein, but they believe everyone can get smarter if they work at it.”

~ Carol Dweck


So which is it: Are we born special, with fixed talents and abilities which are the reasons for our success? Or can anyone improve their abilities through effort and attain success?

A Star is Made

Most likely you’ve heard of the 10,000 hour rule. This is one of the main ideas of Malcolm Gladwell’s book: “The Outliers”.
Gladwell shares the story of exceptional people in the world e.g. Bill Gates, and how they came about their success. Gladwell argues that highly successful people are extremely talented and have invested about 10,000 hours into their craft.

My mode, when I feel investing 10,000 hours in programming might make me Bill Gates

The 10,000 hour rule is partly based on the research work of K. Anders Ericsson.

K. Anders Ericsson has been conducting research for many years on “How Experts become Experts”. He and his team have studied many diverse experts: Ballet dancers, gymnasts, and all sorts of athletes, a lot of coaches; chess experts, surgeons, doctors, teachers, musicians, taxi drivers, recreational activities like golf etc, trying to find out how experts developed their incredible abilities, in an attempt to understand the science of expertise. Anders disagrees with the 10,000 hour rule and believes that expertise is not developed by investing 10,000 hours in something, but by Deliberate Practice.

Anders believes everyone has a base line of ability in anything (e.g. music, art, football etc) and this ability can be improved by practice over time. But not just practice; Deliberate Practice.

There’s actually a big difference between being busy and being productive.

~ Charles Duhigg

What is Deliberate Practice ?

Deliberate Practice is a system of doing focused work to improve a particular ability e.g. as a footballer, I have observed my shooting abilities are poor; I’d practice regularly on my shooting skills with the goal of improving it.

If I then invest 10,000 hours of focused work in football, I’ll become a great footballer.

Anders asserts that expertise is developed by focused work on improvement, alongside quality feedback.

After listening to How to be Great at Just about Anything, a podcast in which Anders ideas were discussed at length, and reading Geoff Colvin’s book Talent is Overrated: What Really Separates World-Class Performers from Everybody Else

I have come up with a 4 step process for Deliberate Practice: 
1. Set a Specific Goal
2. Do Focused Work on said goal, with the objective of achieving your goal.
3. Measure Progress; get Feedback from people who are better than you; and use the feedback to improve your process.
4. Iterate; set sub-goals and milestones monthly or weekly that’d help you reach your goal.

For example:


I am a poor singer, and have the dream of singing like Justin Bieber someday.

Using the four steps above, I can improve my singing abilities over time. Here is how I’d go about it: 
1. Goal: Release my first music track in 18 months.

2. Focused Work: I’ll commit to singing at least one hour everyday, with the objective of improving a specific aspect of my singing abilities.

3. Measure & Feedback: I’ll record myself singing weekly to observe changes in my singing abilities, and get a voice coach to provide feedback on how I can improve.

4. Iterate: Set milestones. Month 6: write my own songs. Month 9: Perform on stage. Month 12: begin recording songs at a studio

Another Example would be


I don’t know how to code, and have the dream of building web apps for Google or Facebook someday. Using the four steps, I can improve my programming abilities over time. Here is how I’d go about it:

1. Goal: Build a world-class web app in 12 months (remember, I don’t know how to code).

2. Focused Work: I’ll commit to coding at least two hours everyday, with the objective of improving a specific aspect of my coding abilities.

3. Measure & Feedback: I’ll review my progress weekly/monthly, identifying the projects I have built, and get feedback from Senior Developers on how I can improve.

4. Iterate: By Month 3: I have built a portfolio website with HTML, CSS & JavaScript. Month 6: learnt transitions, animations, Sass and jQuery. Month 9: I have a handle on SPAs (Single Page Applications) and built an app with React. Month 12: learnt the backend and built my first full web app

Goals change. Timelines change. As long as your overall intent is still intact, you’re good.

While Deliberate Practice doesn’t assure me I’d become Justin Bieber or work for Google, it provides a framework for improving my musical/programming abilities. I can assure you that after 12 to 18 months, I would be way better at music or code than the person I am today.

The reason why most people never get truly amazing at what they do, is we settle. We reach an acceptable level of performance and stop pushing. Stop improving, stop refining our technique.

If you want to be truly great at something: you never stop improving and working hard. After releasing my first track or building my first web app, I set another goal, and after that: I set another goal. The cycle never stops, you keep improving, keep refining your technique. Over time, you’d be truly amazing at whatever you set out to achieve. I have absolutely no doubt about that.

The above are just examples, I am a decent singer and really don’t want to be a Justin Bieber.

So here in lies the secret to excellence: Deliberate Practice. 
Deliberate Practice = Hard Focused Work + Feedback + Time
Excellence = Deliberate Practice + k
Where “k” is the unpredictable constant e.g. luck, environment, your network etc

Now I believe I can improve my abilities and be great at anything; given I put in the effort and persist. I still have one part I haven’t figured out…

Learning Faster

In my journey on learning to code, I keep wondering: 
How do I accelerate my learning ?
What is the best system for learning ?
How do I maximize my learning within the time I have ?

Learning as fast as I possibly can. Life is short…

In my search for how best to optimize my learning, I took a course Learning How to Learn on Coursera. It is hands down, one of the best materials I have consumed this year. I highly recommend it if you are interested in becoming a better learner.

In the course, I learnt the importance of patience in learning, of interleaving your learning and focusing on the process not the outcome. These lessons resonated with the work of the amazing James Clear.

I also spoke with a couple of Senior web developers on how to go about learning web development. I was trying to decide between diving into projects, or focusing on fundamentals and then building projects.

There are different views about this, but I kept hearing:

The Fundamentals are super-important”. Fundamentals provide depth, enables you build high quality products, and it is a crucial part of innovation. The metaphor Ọlájídé Oyè had was: “Would you build a house without a solid foundation ?” Of course not, I’d ensure my foundations are solid and then build on that.

The beauty of building a strong foundation in the fundamentals is that most everything after that is just learning a new paradigm or some new syntax. It may seem like a huge time investment, but the time it actually saves you in the long run is immeasurable.

~ P1xt

This makes sense, although the major challenge is balancing mastery of the fundamentals (through books, tutorials, online courses etc) and building actual projects. I think the best approach, is to experiment and find out what works for you. But remember, the fundamentals are super-important. I believe this applies to every field, not just Web Development.

Anyone can be great at anything, maybe not Cristiano Ronaldo, Mozart, Picasso or Einstein great, but you can improve your abilities tremendously by working hard over time and integrating feedback.


Genius only means working hard all one’s life.