Tim O’Reilly posted a transcript of a long email thread among O’Reilly personnel on the subject of practice. It’s a wide ranging discussion on the value of practice and how people learn among people whose job it is to teach (usually through books).
One thing I’ll add is that practice by itself is almost never as effective as it is with a good coach or teammates who can offer useful feedback. I’ve seen programmers who have written huge amounts of code over the years in isolation who progress very little in their overall skills. That’s why even someone like Tiger Woods, who knows as much as anyone in the world about how to play golf, still has a coach. He needs someone who can help him catch problems that would take him a lot longer to notice on his own.
For more on this, I’d recommend Jason Kottke’s posts on deliberate practice. I’ve considered trying to apply the concept of deliberate practice to being a better arena player in World of Warcraft, but frankly I just haven’t been interested enough to put in the effort.
I also found one bit interesting, this point by Kurt Kagle:
Practice is necessary to learn a skill (it takes about a million repetitions, typically around ten years to master any given skill), but I think that we have become so fixated upon this necessity that we have to question if the skills that we are spending so much of our time and resource educating them are ones that they truly need.
If our children are going to live in a world heavily dominated by computer technology, is it worthwhile for us to be practicing skills that we’ll only use a handful of times in our life?
His specific example is mathematical calculations that are easily performed by a computer. I think I’d argue that we need to know them well enough to understand what’s going on behind the scenes in the computer. Why? Leaky abstractions.
On practice
Tim O’Reilly posted a transcript of a long email thread among O’Reilly personnel on the subject of practice. It’s a wide ranging discussion on the value of practice and how people learn among people whose job it is to teach (usually through books).
One thing I’ll add is that practice by itself is almost never as effective as it is with a good coach or teammates who can offer useful feedback. I’ve seen programmers who have written huge amounts of code over the years in isolation who progress very little in their overall skills. That’s why even someone like Tiger Woods, who knows as much as anyone in the world about how to play golf, still has a coach. He needs someone who can help him catch problems that would take him a lot longer to notice on his own.
For more on this, I’d recommend Jason Kottke’s posts on deliberate practice. I’ve considered trying to apply the concept of deliberate practice to being a better arena player in World of Warcraft, but frankly I just haven’t been interested enough to put in the effort.
I also found one bit interesting, this point by Kurt Kagle:
His specific example is mathematical calculations that are easily performed by a computer. I think I’d argue that we need to know them well enough to understand what’s going on behind the scenes in the computer. Why? Leaky abstractions.
Commentary
learningsoftware development
Previous post
Irritation is my museNext post
Credit where it’s due