> Hi Mark.
> Good to see you around here.
> We're certainly including the ideas behind both Colvin's Talent Is
> Overrated and Gladwell's Outliers. This is mostly the work of K.
> Anders Ericsson. The best introduction to his work is:http://www.psy.fsu.edu/faculty/ericsson/ericsson.exp.perf.html
> However I like to think that we're less interested in how to become
> the next Tiger Woods or whatever the equivalent would be in software
> development. After all there's a lot of value in merely helping people
> gain access to the tools that will let them make themselves better.
> There's also the problem that Ericsson's research seems to suggest
> that being world-class requires a supportive (some would say
> oppressive) family environment which provides you with access to high
> quality coaching and training materials from a young age.
> I tend to think that practice itself is not enough. You have to be
> able to maintain multiple levels of awareness whilst practicing. On
> one level you're solving the same problem in 7 ways in 7 languages in
> order to find the optimal implementation according to various
> objective metrics. But on another level you're watching yourself to
> identify which techniques flow more naturally and which cause you
> difficulty as well as trying to understand the relationships between
> all the solutions.
> In an ideal world we'd have someone around who understood this stuff
> on a much deeper level and was able to measure your progress, spot
> deficiencies and set new exercises designed to correct your
> weaknesses. Sadly the world we live in is one in which the only book
> that actually attempted to explicitly bring the notion of practice to
> mainstream software developers (Charles Wetherell's Etudes For
> Programmers:http://www.amazon.com/Etudes-Programmers-Charles-Wetherell/dp/0132918072
> ) has been out of print for several decades. It took me several years
> to find a copy but it was definitely worth it. Here's the opening
> paragraph:
> "The difficulty with teaching programming is that it cannot be taught.
> The difficulty with learning programming is that it is so much work. A
> teacher can help, lecture, criticize, guide, smooth the path. A
> student can take notes, memorize, read, pass tests, discuss until two
> in the morning. All this effort will be meaningless if the student
> does not practice by actually writing programs, because programming,
> like other skills can only be acquired by practice. Furthermore, the
> practice must be on "real" programs and not on the simplistic material
> found in most programming language manuals. Noodling away at
> Chopsticks will not make one another Rubinstein--no more will noodling
> at APL make one a master programmer. So we provide this book of
> sizable problems that are suitable as training projects for the novice
> programmer who wishes to become first a journeyman and then a master."
> Wetherell wrote those words in 1978. But very little has changed. His
> etudes range from calculating the yield on an investment to maze
> building to finding patterns in primes to playing the game of Owari.
> All that's changed is that exercise he thought would take a couple of
> weeks are now the work of hours because we have more powerful
> languages, sophisticated libraries and faster computers.
> One of the tangible things I'd like to see come out of the software
> craftsmanship movement would be sets of exercises designed to
> strengthen particular facets of a developers skillset. Then when we
> meet at conferences we'd be the folks who gather for a couple of hours
> to practice our skills and gain feedback from each other on our
> progress. Identifying those facets and the exercises that can
> strengthen them is likely to very rewarding.
> I think that, to paraphrase Richard Sennet, we'll find that there's a
> lot we can learn from problem-finding as well as problem-solving.
> There are some existing books that provide interesting material we
> could use to derive exercises. Even if we don't yet have ideas for
> exercises I'd like to collate source material:
> - Wetherell's Etudes For Programmers
> - Mark Jason Dominus's Higher Order Perl is even more valuable if you
> don't know or like Perl because you'll have to reimplement his
> examples in your favourite language in order to deeply understand
> them.
> Are there others?
> 2008/12/21 Mark Needham <m.h.need...@googlemail.com>:
> > I'm currently reading Talent is Overrated which so far has spent a lot of
> > time explaining how the best at any activity are those who have deliberately
> > practiced the most. I'm still trying to work out what the best way to create
> > yourself a curriculum which allows you to achieve that is although I think
> > Ade/Dave might be writing about the idea in their Apprenticeship Patterns
> > book.
> > 2008/12/21 Jason Gorman <goo...@parlezuml.com>
> >> There seems to be quite a few people musing over the need for ongoing,
> >> long-term practice in programming techniques at the moment.
> >>http://radar.oreilly.com/2008/12/hard-work-and-practice-in-programmin...
> >> Jason Gorman
> >>http://www.parlezuml.com