Sunday 20 January 2013

A Rather Strange Cookbook

Almost a review of The 4-Hour Chef by Tim Ferriss

The ideas I want to explore in this blog started to form while I was reading this book, so perhaps I should say a little bit about it. Tim Ferriss — how can I put it delicately? — is something of a self-publicist. The book has many five-star reviews on Amazon. One of the few one-star reviews asks: "Why does he feel the need to fake the ratings for his book? Over 50 five star reviews pop up the same day the book is published, almost at the same time, by reviewers who didn't review any other book." It certainly looks as though the techniques described in Trust Me, I'm Lying by Ryan Holiday have been used to promote this particular cookbook. So is there anything there beyond the hype? Well, actually, yes there is.

Ferris is a hacker. Not a computer hacker, of course, but a hacker nevertheless. He's obsessed with how to become an expert in something with much less than the normal effort. The conventional wisdom  is that to be an expert in something takes around 10,000 hours of effortful practice. (See, for example, Outliers by Malcolm Gladwell.) Effortful practice means working at something to the limit of your current ability, not just idling at a level which you find easy.) Ferriss claims that it's possible to hack expertise, to go from zero to the top 5% in much less time than this — maybe only 10% or 20% of the time. How?

The first 70 pages of the book are devoted to "meta-learning": principles and examples of how to make a programme for learning anything. (The examples include things like how to shoot basketball hoops.) The next section of the book can be read as a 120 page basic cookery course, but it can also be deconstructed and used as a detailed example of how to apply the meta-learning principles in practice.

Ferriss's meta-learning principles are for the most part not particularly novel — if you are familiar with educational theory you will recognise many of them as descriptions of best practice. His description of how to learn a foreign language will be very familiar to anyone who has used the Michell Thomas language courses. But the idea that top-performers might not be good examples of that best practice is nowadays a bit heretical. Ferris suggests that rather than look to superstars for tips on how to practice, we would be better off finding the outliers who have achieved some success despite not being well endowed by nature.

Something that Ferriss's meta-method also emphasises above the meta-learning principles is to seek help from expert tutors. (And this is a place where, because of his celebrity, he might be better placed to find help than you and me.) This is an interesting angle, because most educational theory looks at the problem the other way around, from the perspective of an expert wanting to teach novices. As a novice wanting to learn something, it might appear that the principles are all you need, but that's not the case: to build your learning programme most effectively you also need some hands-on expert advice. (Because you need to learn the expert's tacit knowledge, which the expert might not even know how to teach. Ferriss gives some ideas on how you might approach this.)

It's intuitively obvious that this would be a good idea, but perhaps not so obvious just how powerful it is. We know from educational research that personal tutors are unreasonably effective — this is the so-called "two-sigma problem". Nearly 30 years ago, Benjamin Bloom compared group teaching with one-to-one tutoring, and found that an average student with one-to-one tutoring performed at the same level as a top 2% student with group teaching. That's really quite astonishing, isn't it? See The 2 sigma problem: The search for methods of group instruction as effective as one-to-one tutoring in Educational Researcher, 13(6), pp4-16 (1984).

But how is all this relevant to you and me? Well Ferriss's ideas on cooking are quite interesting in themselves, and I'll come back to them another time. But as programmers we have our own expertise problem. As part of my "day job" I teach small classes of students how to program in Python, as part of an electrical engineering degree. Well, I try to. I am no longer surprised at how difficult this is. A few people just get it straight away, like I did when I originally learned to program. Most struggle. I've found a few things that seem to help (and I'll come back to these another time too), but surely we can do much better. If there really is a way to gain expertise 10 times faster, we could certainly use it.

On the other hand, experienced programmers could always learn to be better too. I'd certainly like to learn more and be a better programmer. It's a generally accepted idea that programming teams often have some programmers who are 10-times more productive than others, but there's been relatively little interest in systematically finding what the difference is and learning to be that 10-times programmer yourself.

If you're an expert and you want to improve, you will certainly have to make your own learning programme, and Ferriss's ideas are a fairly accessible place to start. So: can we apply Ferriss's principles? What 20% of expert programming knowledge will give 80% of the results? What things are common amongst best performers, but infrequently taught? What you you know that I need to know too? I think it's not just novices but also experts who could do a lot better.

So overall, yes, despite the hype, do I think it's worth reading The 4-Hour Chef, if only to help imagine what might be possible.

No comments:

Post a Comment