I was hanging out at InfoQ.com watching some videos about software development. You know – honing my craft. If you want to call it that. Anyway, a highly recommended way to spend your weekends :)
Something struck me as inspired, particularly in relation to a discussion we touched on at the Brisbane Alt.Net meeting around ensuring software quality. It is somewhat loosely related and it relies on analogy, but below is a response by Greg Young to a question regarding his strategy for training junior developers.
I have always believed that the only way to bring up junior developers in any technology - it doesn't matter what it is - is an apprenticeship program. You bring them up from apprentices and they move on, they pair a lot, they get code reviewed a lot, they are put on fake work, just like a real apprentice.
You want to learn how to make tables? Well, you are going to make a lot of tables. Not all of them are going to end up being sold. Sometimes you'll make a leg of a table just for the sake of making a leg on a table. Over time, they will build up the skills and the main way of how to build a lot of skills is by being in other people's code, who did know what they were doing and they will start seeing the good habits of those around them. The place where it fails and it fails all the way back to the pre-industrial age era is when you don't actually have somebody who is a master of their crafts, teaching apprentices.
I thought it was brilliant (as was a lot of stuff in the interview).
And while you are at InfoQ, be sure to check out Damien Katz’s talk about the personal inspirations and challenges about going it alone on his solo project CouchDB. It is a very honest and revealing presentation.