Knowing 'How'
37signals.com
37signals.com
When I am training up junior programmers, I spend a lot of time explaining to them why I have chosen certain patterns in the code that they should use. Nevertheless, they invariably come back with 'yes, but why don't we do it this other way?" and then I have to explain to them the problems that that solution will lead to.
If anything you seem to be saying that you find being a mentor a p.i.t.a, which is perfectly valid but not really a part of this conversation.
In fact, everyone here knows about the popular 10,000 hours of deliberate practice rule. No one achieves competency through Matrix like osmosis -- not even programmers.
And I think what the author is missing when he/she goes to these conferences is that a conference session is a jumping off point. It's a place say, "I didn't realize you could animate that with that technique." And then you go home and try it and practice it. It's not about mastery at the conference, but awareness of something worth pursuing more.
There's a clear implication that there are other things that should be learned using some contrasting mechanism. And furthermore, the author, like many others, misses completely that school isn't meant to be OTJ training. If it were, more than half of your units wouldn't be 17th century female philosophers from Rwanda. To the extent that you directly study programming in school, it is almost all hands-on.
I am in agreement with the general thrust that people learn from experience. My point is that he opens this up with a somewhat false argument that in school you read things in a book and then you're done. That's not the case even at the worst schools (well maybe the worst). And then goes on to suggest that programming, UI design, and product strategy (whatever that is) is some how different. Here my point was that virtually every vocation in the world shares the trait that you need to practice the vocation. That's why there's actual cars in autoshops.
What a structured vocational education tries to do is to move you from topic to topic so that you cover the ground of a professional. This avoids the problem where as an apprentice you become really good at fixing this one particular bug, because that's the main job your mentor gets called out to do. Of course, you can move to a system where there are required skills you must exibit over your apprenticeship, but now you're just moving to structured education in a new cloth.
We are left with a whole new breed of people who are craftsmen but being taught to like they are academics.
I still think you're reading an implication that is not actually being made, and subsequently getting huffy about it. I see no "clear implication" other than "this is not how those three things are most commonly learned currently". I cannot understand where it is that he is posing those three things against all other things.
It's because he went to design CONFERENCE, not design WORKSHOP. The nature of conference speech is so much different from workshop.
At conferences I want to be exposed to new ideas that I can then go look up on my own. Just to pick an example at random, as someone who has never used Haskell, I'd much rather hear about "so, what the hell is a monad, really", rather than, say, someone sitting there showing me how to write hello world in Haskell.