When they say deliberate practice, they just mean practice. Or practice with focus at most.
Deliberate practice isn't just practicing extra hard. Remember the original research is about violinists.
So, what's missing ?
According to Ericsson, violin performance is relatively "objective": most professionals agree on what's bad and what's good, even in a blind test environment. It's the opposite of what general people believe: that music comes down to "individual's taste". It might be true for pop, but not for classical violinists.
I really don't believe coding works like that. If it does, there won't be so many "consider harmful..." memes. You can delibrately practice leetcode, but I doubt if you can delibrately practice coding in the general sense.
In the meantime I opened multiple tabs to skim through and also thought "hmm, small repetitive tasks you practice again and again to perform them perfectly... not applicable to every field then ?".
Nobody is going to succeed at gymnastics without a coach, but you can totally reach a high level in a game like chess just by reviewing your games afterwards, reading theory and studying the games of past masters.
This is a great list. Some of my all time favorite hackers in there such as Casey Muratori and Andreas Kling.
Something that I have realized as I have gotten more experienced, is that things take time. I tried to shortcut my learning through every trick in the book and while I did manage to get pretty good in the first few years of hacking, only after I was close to 10 years of programming did I start noticing patterns and have an instinctive understanding of what to avoid and what to do.
In other words taste formation is a function of building hard things over a period of a very long time. There is simply no way of short circuiting that.
See: https://commoncog.com/expertise/
I wished more people knew about his writings – so much to benefit from!
so instead split it off into a specific role that selects for people who enjoy teaching. I think it would appeal to people looking for lower stress for maybe a slight pay decrease compared to a standard engineering role
Crucially, as soldiers (non-commissioned) go up through their rank structure (corporal, sergeant, etc) they can take instructor courses back at the schools that qualify them to do on-the-job training back in their parent units (and which increase their pay). The best of these instructors may be invited to undergo additional training that qualifies them to become an instructor at one of the schools. So some responsibility for training is fundamentally baked in to career development.
I don't think that model specifically can be adapted, but yes, it is a real problem and people should be thinking about ways to solve it.
The military example is probably instructive because that's a case where a long-term career in a given military is relatively common.
Figures from the last decade [0] show that half of all British Army recruits will have left after four-to-five years service, and only 23% make it to ten years.
One reason (not the only one) for the military emphasis on training is they can't fully utilise their skills in peacetime, unlike most other professions.
[0] https://assets.publishing.service.gov.uk/government/uploads/...
>One reason (not the only one) for the military emphasis on training is they can't fully utilise their skills in peacetime, unlike most other professions.
That makes sense. I attend conferences and the like which is training to some degree. But training in the sense of actual courses of some sort wouldn't be a lot of use to me at this point in general.
Unfortunately even finding a teacher doesn't necessarily solve the problem, as a fair amount of teachers end up passing on bad habits they themselves learned and adopted. However, if a teacher can clearly explain the rationale for taking a certain approach if a student asks about it (without getting upset about having their authority/method questioned), that's a good sign.
Just because something worked doesn’t mean it will work all the time. You also have to learn the context it worked in and reason analogically. Cedric calls this concept instantiation and there’s more to it than that but it’s been a useful corrective to my previous adulation of first principles only thinking (which also only works in some circumstances and not others)
When I was younger and more idealistic I took a chance and got a bachelor's in music. It didn't work out, but when I later became a programmer, one of things I took with me was this idea of "total immersion" - e.g. just hanging around and listening/watching the more experienced people do their thing.
Nice to see that I'm not alone in this idea!
Yeah, I think immersion works, but I'm not sure how to make it not a huge time sink. It feels like its a slow path as measured by hours invested, but sometimes It's the only way.
Going back to the earlier analogy, music has the same problem as programming in that the stuff you do for money doesn't necessarily translate to making you better at your craft. You end up being a factory that just produces the same thing over and over instead of growing in your craft.
I see this a lot at my job currently (I'm guilty of it as well) - speed is usually prioritized over anything else, and so bad patterns end up getting copied and "lifted and shifted" everywhere.
It's hard to find the balance.
Side note: also a degree in music turned programmer, hi!
For software engineers, problem solving with math and leetcode style questions can be trained in a deliberate practice style, as well as (for example) learning the ins and outs of the most import parts of your language's standard library or the most used core unix utils, or how to construct various SQL queries.
Getting those out of the way means you can focus more on the fuzzy aspects.
So I'd say there's still a role for deliberate practice in broadening and deepening your foundations.
Dan Luu has written about similar things: https://danluu.com/p95-skill/
Otherwise, you have to do something not quite DP. But that's ok, because in a mushy domain just acquiring the tacit knowledge that the experts have will put your far ahead ( because the pedological method and real coaches don't exist yet).
https://commoncog.com/tacit-knowledge-is-a-real-thing/
Here is my random programming take on it:
https://earthly.dev/blog/golang-streamers/