Hacker News new | past | comments | ask | show | jobs | submit login
Becoming an expert through deliberate practice (bakadesuyo.com)
170 points by wallflower on March 24, 2016 | hide | past | favorite | 63 comments



Bear in mind that Erickson's original research involved classical musicians. They're competing in a field where high standards were largely defined 150 years ago. Those standards have stayed remarkably similar. If you want to be a great classical pianist, cellist, etc., you need to put in a lot of time to rival the performance levels of prior masters like Heifetz or Rubinstein. And, yes, focusing on the hard stuff (deliberate practice) is crucial.

These insights extrapolate to some current-day fields -- but not everything. Not by a long shot. It doesn't take 10,000 hours of deliberate practice to get great at a lot of newer areas where standards are being defined on the fly. Newcomers with boldness and originality can go a lot further in such situations.


I feel like you might be hinting that software is one such field.

IMHO software's problem is not that it doesn't take 10,000 hours of practice - it is that it takes much, much more. It can be months (or years!) before you receive feedback on your decisions. Given this, boldness and originality can go far not because it's easy to be an expert, but rather because almost no-one is an expert.


But hardly anybody in software does deliberate practice, everybody learns on the job by just trying to solve the problems they are faced with at the time.

Nobody considers what their weaknesses in programming are, invents a program of exercises to remedy that specific weakness and then does those exercises every day for a year. That's what deliberate practice is.

The book was about 10,000 hours of deliberate practice. As long as nobody in software does that, it's simply not applicable to software.


> But hardly anybody in software does deliberate practice,

As a largely self-taught programmer, I've struggled for a long time with certain algorithms and certain data structures. I got sick of it about a year ago, and decided to do something about it.

Since that time, I've come a long way using a "kata" technique for algorithms and data structures. Each morning (at least, ideally each morning), I worked on a group of related algorithms: trees on Monday, sorting Tuesday, graphs Wednesday, etc. And by "worked", I specifically mean that I would memorize algorithms related to the topic I was working on, and then each day re-write it from scratch. Often, I didn't fully understand the algorithm in the beginning, but after multiple days of re-writing it, I'd begin to understand it. After several months of this, I'd gained a much better understanding of all the areas I was working on.

I got busy and stopped a few months ago, but when I was doing it daily, I found I was gaining significant insight into the algorithms, and was able to then apply them in new and innovative (to me) manners. In fact, I started doing them again a few weeks ago because I noticed I was losing some of the insight I had gained. Reading this article has only reinforced my resolve.

So these "katas" I do are really nothing more than deliberate practice. And I know that I'm far from the only one doing these. They seem to be quite popular among some programmers.


When you're young and relatively inexperienced, every day you have to figure something out you don't yet know how to solve. I believe this does the same thing as the deliberate practice of a musician. Five years of 40 hrs a week or ten years of 20 hrs a week comes down to about 10,000 hours.

Now that I'm a veteran, I find that at work I spend most of my time at work solving problems I already know how to solve. I spend some of my spare time on pet projects doing things that are new to me, but unless they find a cure for the need to sleep, I'll never have 20 hours a week to spare for this again.


As a programmer and a musician, I feel that deliberate practice is much different than the day to day practice of working.

Sitting down and playing scales / etudes / method books every day is very hard, but it's the only way to get better at a quick pace. You can't really pay attention at that level for more than 4 hours (or, rather, I and most other humans can't).

Similarly, I've made concerted efforts to refactor procedural code into functional code, and while that is very difficult conceptually (for me, maybe not you) it felt very much the same way as doing scales.

Deliberate practice is not the same as just doing work, and just doing work doesn't make you better as quickly or in the same ways as deliberately practicing.


  >But hardly anybody in software does deliberate practice
I sure do, and you should, too. Every time I write a bug that gets released to customers, I ask myself, "how did that happen, and how can I prevent it in the future?"

As a result of doing this for many years, by now I rarely have bugs in code that gets released.


The trouble with using software as an example is that software is so damn fluid and ever changing whereas notes on saxophone will always be played in the same fashion within the same tonal range. It;s measurable; software is always a work in progress.

You can go to a pool and master all four swimming strokes: backstroke, breaststroke, butterfly, and freestyle in about a year but you would not be a Michael Phelps. However you would be able to swim better than at least 80% of all of humanity and be considered a master.

The word master needs to be better defined. You can quickly master many things in a year or less.


case in point: NPM and Left-Pad: Have We Forgotten How to Program? - https://news.ycombinator.com/item?id=11348798


It reads like you assume that expertise is defined by how others view you. That is certainly one way to define expertise. But expertise can also be an objective measure. Then it doesn't matter how new the field is, you still have to work for years to achieve it.

I feel competitive gaming is one of those areas where the new stuff can make you the best in a field in a few weeks. But if you look at the really best players you find that they continue to learn even when they have reached the top. Then they compete with the other top players to find new ways and optimize the existing ways even a little more.


Ericsson's work is classic, but you have to realize A) it is primarily from the 80s and involved studying things like games or sports or trivial pursuits where expertise is more likely to be measured, and B) the author of the book described in this article is Ericsson himself - it's going to be a bit biased.

Here is some more up to date research and information on his theories:

This recent special issue of Intelligence critiques Ericsson's work: http://www.sciencedirect.com/science/journal/01602896/45

The 10,000 hour rule has been pretty refuted in my opinion. There are so many exceptions to the rule that it's not really a valid rule.

In fact, one of the articles in that special issue is a meta-analysis that found no evidence for the 10,000 hour rule. Here's a summary: http://www.smithsonianmag.com/smart-news/10000-hour-rule-not...


First "expert" should be defined.

If by expert you mean someone better than 90% of all humanity at some task X, then the time to get to this level could be orders of magnitide smaller than a 95%, which itself is orders of magnitude smaller than 99.9% i.e. (pro/olympic athletes, concert pianists, etc).

If you don't agree please offer a counter example. Besides all sports, lets consider juggling. Here, 1-2 hours can make you better than about 80% of the population, but becoming a passable street juggler will take months, and a proffesional artists who can innovate as a juggler probably many years.

Essentially, my hypothesis is that improvements in a task X decrease exponentially over time.


Does it actually make sense to define an expert as skill relative to others? If I define my own programming language and am the only one that knows it, I'm inherently an expert in it by this definition. I'm better than |world population| - 1 people with this language. However, I may not actually be an expert. I could have created something beyond my ability to truly master (or that I haven't mastered to the level of expert yet).


See The Role of Deliberate Practice in the Acquisition of Expert Performance by Ericsson. The data supports your hypothesis.


This blog has 1058 pages of material. How? Each post has a fairly clickbaity title and seems to summarize someone else's work/research, but is it really all one guy working full time on getting this material together? Is he farming it out to contractors?


  >This blog has 1058 pages of material. How? 
He probably spent 10,000 hours at it. I'm just guessing though.


https://www.quora.com/Who-is-Eric-Barker-and-why-has-his-blo... tl;dr he is a lifestyle blogger (assuming the answer is legit)


First post is in 2009, 5 blogs per page, so 2 posts per day, every day, for 7 years. Not impossible, but you've got to be very motivated.


He seems to have 1 post per week in recent months though. Slacker.


the traffic, money (from the amazon links) and attention he gets is a great motivator to keep making more posts.


I think the best thing to focus on is how much value and happiness you can bring to others. Not something self-centered such as expertise that perhaps nobody else would even notice because it's meta. Expertise should not the end goal, but instead a facilitator to value creation.

For example, if you're making a song, your thinking should be "I can't wait until people hear this song!", not "I can't wait to slightly increase my skill".


This reminds me of the phrase "practice makes perfect" and of course, the oft-repeated correction: "perfect practice makes perfect."

I can't say I'm a fan of the domain name, though. There are certain connotations you raise in people's minds when you use incredibly common/trite Japanese phrases within a given subculture for a domain names, especially one that sounds like "I'm retarded dur dur."


Of course I had to look after that attack on his choice of domain name.

It's explained here: http://us5.campaign-archive1.com/?u=b083212130155b748c778508..., and kind of seems to make sense, be somewhat funny, and not match your vague accusations of triteness.


"baka" is "baka" -- this is the internationally accepted romaji for the word "idiot."

"Baakaa" is "Barker," which can alternatively be romanized as "Ba-ka-" or "Bākā." It's never "Baka," whether written or spoken.

The vowel length completely changes the word into a name and either one is recognizable at a glance to someone who knows Japanese. Someone who deliberately chooses "baka" despite knowing some Japanese is also deliberately choosing to play on words that people with a passing familiarity with Japanese or anime will mistake for "idiot."

It's not an innocent or clever choice.


Practise doesn't make perfect ; practise makes permanent.


Well, actually "practise" makes you... a Brit


No, the parent just spelt it wrong. Practice (the noun) is spelt with a C in Britain. Practise is the verb.


Yeah, but wouldn't that be the british spelling nonetheless?


Oh, that's a great rephrasing, too. Is it yours? (Curious about the source, not nitpicking.)


I don't remember where I read this the first time ; but no, it's not mine.


My high school band teacher used to say that.


The one I knew was 'practice makes permanent'.


I would consider programming contests like Topcoder deliberate practice of some aspects of programming. When writing code at the job I spend maybe 30% writing code that does stuff and half of that is spent on boilerplate (yeah, I work in Java). The rest is spent on writing tests, refactoring, waiting for compilation or code review, etc.

Some people would say "but you write different code at programming contests"! It's somewhat true - I feel that different parts of my brain are engaged when working on a "right" edit to a massive codebase. On the other hand, from time to time there are problems that require writing few hundreds/thousands of quite dense, relatively greenfield code and then I feel that "Topcoder" parts of my brain are engaged.


Code reviews, when intentional, are deliberate practice. Both reviewing, and getting reviewed. With deliberate practice, people get caught up in the practice part, and believe that if they are "actually doing something productive, it's not practice." But practice is more than that. It's the intentional application of ideas. The difference between deliberate practice and normal work is that normal work is, in many cases, boilerplate. It's things you know. You are doing things that aren't pushing yourself.

Yes, Topcoder and things like that can be deliberate practice, but deliberate practice is not limited to such things. And those who are successful, really successful, don't limit deliberate practice to such events.


Awesome. Just listened to Dean Bokhari's interview with Dan Coyle. http://www.meaningfulhq.com/daniel-coyle.html


According to the article, a key skill to acquire are proper metal representations of problems in your field: "You want to be able to clearly and specifically visualize the right way to do something in your head. This is what separates the experts from the chumps."

Would anyone like to discuss any particularly effective ways of visualizing programs or data? Approaches you have found effective?


I find it's useful to think in terms of colors or shapes for data. User input shows up RED and gets massaged to be safe. Sometimes a UI gets some data added, or chunks broken off as things flow though the program. The shape can be either how it's shown to the user, how an objects variables are defined, or just some random thing if I have yet to start coding.

You can think of bits as coins HTHTT vs 10100, and enumerated types as gears.


In college I got a LOT of mileage from printing out my code (this was in the 90s) and sitting down with a pencil and tracing through statement by statement.

Draw little boxes for each variable, for pointers, for the stack, whatever. Change each value only when the execution gets there. Resist the urge to just skip over -- "this section does such-and-such."

I'm fairly certain it's the only reason I made an A in my assembly language courses.


Great point. On a similar note, I've gotten a lot of use out of stepping through Python algorithmic code using PythonTutor [1], which maintains a visual dashboard of stack frames/variables and heap objects. Very useful, was just using it earlier today.

Doing this manually with a pencil and paper is arguably even better for learning purposes, although significantly more arduous. I should try it.

1. http://pythontutor.com/


It's a great article, well written, and I like the recommendations. Especially "Find a Mentor"! But I still think deliberate practice is overrated (in some fiels, especially programming): http://davidtanzer.net/deliberate_practice


It sounds like the photographer in your linked article is advocating deliberate practice. He is advocating working on improving specific skills in a realistic setting.

Personally, I find side projects one of the least efficient ways to improve. I already spend 8+ hours a day "doing" at work. In contrast I spend less than 30 minutes a day at work learning and understanding theory, new concepts, and different approaches to a problem.

So I get a lot more value from focusing my "free time" on the latter.


The author is specifically advocating deliberate practice. In fact, it's amusing reading the article, as it seems he thinks deliberate "practice" isn't actually "doing" something productive. The article supports, in every way, deliberate practice. I mean, this says it all:

"This is compared to us developers learning to touch-type or learning the keyboard shortcuts of our IDEs."

No. Deliberate practice for programmers is not limited to just touch-typing or keyboard shortcuts. It's actively learning to use new tools and environments, learning new languages, and learning different ways to program, such as functional or object-oriented programming. It's practicing coding in ways like coding katas.

It's digging into code that isn't yours and making the software do new things, and issuing a pull request upstream.

Deliberate practice isn't just "practicing." It isn't just mechanical. It's challenging, it's hard, and it improves you.

If you think deliberate practice is just practicing mechanics, you are ignorant on the subject.


1 - some tasks are simple enough that much less than 10000 hours is needed. Consider every day driving. 100 hours should be enough.

2 - some people are order of magnitude more talented better than others at some things. Maths or music come to mind. My personal experience: it took me years of hard working to get decent rhythmic abilities. On the other hand, my sister (who is a professional musician) had a innate sense of rhythm. She doesn't even understand how that could be an issue.

Maybe it's more accurate to say that after 10000 hours, one can get close to its full potential, which varies tremendously among people.


> Consider every day driving. 100 hours should be enough.

100 hours should be enough for most people to pass a driving exam, not to become an expert driver.


Right. I took to drumming very easily. Like you said about your sister, not having rhythm is something I don't understand. I think of that as a head start, but it doesn't disprove 10,000 hours. I do still need all the hours to reach my potential. Someone else without that head start but who practices a lot will catch up to me if I don't practice.

Even if I do practice the same amount as them, I expect the difference between me and someone without the head start would go down significantly over time.

So innate talent is a real thing but it's consistent with 10,000 hours.


I recently started drumming in a hobby band and I seem to have a knack for it. I'm curious to hear how you've progressed and what kind of practice you do. I'm just winging it and it's alright.


Drumming wasn't important to me, it was just a fun novelty for a short time. I knew what it would cost (both time and money) to bridge the gap from talent to real expertise and it wasn't personally worth it to me.


Generally when the meaning of 'innate' is actually investigated, it's found to not be something innate; see this paper: http://cogprints.org/656/1/innate.htm

  >She doesn't even understand how that could be an issue.
Sounds like you two haven't put much thought into understanding the issue.


> Consider every day driving. 100 hours should be enough.

I'd say that's driving competence, not driving expertise. Formula 1 drivers, for example, usually start out driving go-karts as kids. By the time they get to Formula 1 through all the junior racing categories and feeder series they've been practicing their driving for at least a decade.


The conflict between the article title and the domain name is delicious.


Deliberate practice of algorithms, data structures, math, statistics.


This is better than the usual fluff, but obviously we had to change the baity title. If anyone can suggest a better (more accurate and neutral) title, we can change it again.


I agree. The article was much better than would have been indicated by the original title. I'm glad you changed it or I might have skipped right over!


As someone who has spent 10 years writing online with little to nothing to show for it, this does not work. You need connections, good luck, and or genetically endowed talents to succeed. More hours will not cut it. Also, becoming good enough to be an expert requires being better than 99.9% of people, which by virtue of the Bell Curve is unobtainable for most people. The chess example may be measuring something else (some other normally distributed variable) than IQ, with IQ being an important but only secondary factor.


> More hours will not cut it

That is not deliberate practice. Merely spending 10 years writing online is not deliberate practice. Doing something every day is not deliberate practice.

> genetically endowed talents to succeed.

No. You are not born with the ability to write. Mozart was not a naturally born musician. Tiger Woods did not one day suddenly become a golf pro.

> As someone who has spent 10 years writing online with little to nothing to show for it, this does not work.

Spending 10 years writing does not mean you spent 10 years deliberately practicing. It merely means you spent 10 years writing.


How does one 'deliberately practice' writing? Using longer words, writing more? It's not like the most successful writers or writings are the most complicated. Maybe it's also about 'pitching' ideas, networking, but this could be seen as a separate skill than just writing. Finding the optimal linear regression of what people want.


> How does one 'deliberately practice' writing?

See Venkatesh Rao's Quora answer: https://www.quora.com/What-are-some-tips-for-advanced-writer...

“Writing is a skill like any other, and the famous 10,000 hour rule should apply, and it does, but not in the way you might assume. A prolific writer can usually churn out about 1000 reasonably decent words in an hour, so if you count in words, it might seem like 10 million words would be enough. Or at 4 hours a day, 250 days a year, about 10 years.

The problem is everybody writes. And yes, things like emails count. So any idiot can clock that many words in 10 years even if they only do a lot of casual/work email and texting. ...

What matters is not how much you write, but how much you rewrite. ...

The HUGE difference between everyday writing that everybody does and serious writing is the proportion that is re-writing. I'd estimate that for non-writers, rewriting accounts for maybe 10-20% of their writing.

For serious writers, it accounts for anywhere between 50-90% depending on how critical the particular piece is. ...”


  >How does one 'deliberately practice' writing?
1) Write something, then look at what you wrote, and try to figure out how it can be improved

2) Read works from great writers, figure out what they did that made them great

3) There are plenty of good books that will help you improve quickly when you are first starting. The key here is to work on improving, not just doing.

4) You really have to work at it. Stephen King suggested that aspiring authors should be working at improving their writing eight hours a day.

Some sample books to improve your writing skill:

http://amazon.com/dp/0312010443

http://amazon.com/dp/1599639610

http://amazon.com/dp/0884481492


Depends, what do you want to improve? If you are looking for general feedback, getting an editor or a coach to assist you can go a long way. Someone to offer valued feedback. There is a reason writers so often thank their editors.

Ben Franklin is an interesting story in how one can deliberately improve their writing.

https://www.linkedin.com/pulse/20140820222906-7374576-ben-fr...

But it occurs to me you are equating success in writing skill with success in becoming a popular writer. One can be an excellent writer and still not be financially success or massively popular.

10 years of writing doesn't mean much. What do you mean when you say you spent 10 years writing? What have you done?


That's a tough one, and I'm not sure there's a direct answer.

I suspect, though, that it has a lot to do with taste, specifically as to what it is you enjoy about other people's writing -- not to make your writing more like theirs, but to have a better eye for one's own.

In the same way that many musicians have insisted to me that missing out on opportunity to practice music as a child or a young adult needn't be an obstacle to becoming a serious musician later in life; it's vastly more important, they say, that you listen to music, and develop good taste -- rather than worry so much about "talent" or lost opportunities.

[Maybe it's]... finding the optimal linear regression of what people want.

But this, I think, is definitely not where it's at.

Though we should of course always be aware of hour others are perceiving what we create, ultimately it's not the job of the artist to survey the crowd for what they already know and "what", and give them more of it (though no doubt many artists get by on exactly this modus operandi, and some go on to achieve a great deal of notional success with it).

Rather -- the artist's job is to create experiences their audiences didn't know they wanted, or perhaps even thought they hated (or just didn't like so much) -- but because you've cast it in a new light, you've forced them to look at it differently. And this, necessarily, involves risk along with the near certainty of failure and rejection.

And because so many artists are afraid to cross that threshold -- sticking always either to what they think people will like (but which isn't their own creation), or to something that is their own creation (based on a few early successes), but never veering from that mold or trying anything really new -- we wouldn't say that makes them "fail" as artists, but they do tend to stop growing, and often never become as great as they once thought they could be.


> How does one 'deliberately practice' writing?

I imagine a big part of it is actually not writing but reading. That is, reading things from people who you would like to write like and trying to emulate what they do.

I guess even better would be to write something and have one of those people look it over and give feedback.

> It's not like the most successful writers or writings are the most complicated

It's been said already but this article is about mastery and you seem to be concerned with success which are two very different things.


As someone who has spent 10 years writing online with little to nothing to show for it

Based on your comment history, your writing would be improved with better organization. Learn to use paragraphs with a topic sentence and supporting sentences. Organizing your thoughts like this will improve the readability, structure, and power of your writing.

If you merely write without trying to improve, then your writing will not improve much. If you play chess without actively remedying your faults, then you could actually get worse at chess, despite playing many games. You need to actively try to improve if you really want to get good.


You're confusing expertise with success. Deliberate practice will make you a better writer. But you can be an expert writer without having success at making money or getting attention for it.

If there are more writers than there are slots for successful writing careers in the world, things like connections and luck are the type of thing that put you ahead in the competition for those careers. The best writers don't automatically get those careers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: