5 ms·
...and while you can train people to be competent, you can't train them to be exceptional. Why not? Every exceptional programmer I've ever met was unexception
by edw519 12y ago
...and while you can train people to be competent, you can't train them to be exceptional.
Why not?
Every exceptional programmer I've ever met was unexceptional at one time. Something happened for them to become exceptional. I personally believe that while that "something" is most often "doing", "training" is often a big part of the equation. And that training is more often than not training their beliefs as much as training their skills.
Many of the best programmers I've even known never imagined themselves being able to do what eventually became their norm. For a lot of them, all it took was the guidance of a caring mentor or trainer to see the possibilities.
Regardless of where programmers come from, I take it as a serious responsibility to help them become what they can be. Not saying "can't" is the first step.
- bwaxxlo 12y agoYou become exceptional by being curious and never satisfied. I don't think you can teach that. I mean, you can blurt it out to people all day but it takes intrinsic motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole.
- larrys 12y ago"motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole." Agree. Obsession and curiousity is important. To me you either have that or you don't have that. (Edit: Of course it depends on the subject for sure. You can be curious about one thing but "phone it in" about something else.) I'm not a programmer but I can write some things that are helpful to me. The other day I made some tea and I then thought "hmm I will buy a timer on Amazon". Then I though "no let me write something that I can use from the shell to tell me when N time period is up and what it is up for". [1] I then probably spent the next hour or so writing this little routine when all I had done was getup to make tea. Because even though I am not a programmer I decided it was more interesting than what I was working on at the time (which is also pretty interesting). Back to something that I do know about (negotiation and strategy) I go with your first sentence for sure. [1] In other words instead of using the iphone timer or any number of other ways to do the same exact thing I just decided it was more fun to write something to do what I wanted. And it was fun. And when I showed it to my wife that evening (as an example of why I think our 10 year old should do programming) she couldn't understand why I thought what I did was fun to do.
- vjz 12y agoProgramming ability (similar to other STEM abilities) are power-law distributed, rather than Gaussian [1]. From this, it follows that training has very high probability of producing competent programmers but very low probability of producing exception programmers. [1] http://www.sciencedirect.com/science/article/pii/S1877042813048611 http://www.sciencedirect.com/science/article/pii/S1877042813...
- arohner 12y agoNot necessarily. Surely there are people out there who have the potential to be exceptional, but never reach it, because they never got started, never realized they'd be exceptional, etc. Converting the potential exceptionals into actual exceptionals, is a very big win.
- larrys 12y ago""training" is often a big part of the equation." I think the assumption is that at the speed these companies are operating having to wait for a "trained" (assuming it's true) batch is simply to long. By that point they may be out of business.
- Philadelphia 12y agoThe logical takeaway from that is that they don't have a viable busisness model, not that society should change in order to make their poor business model work.
- brianchu 12y agoThe kind of training necessary for becoming exceptional is entirely possible, but not scaleable, thus it's not a practical solution to the problem. I think the example you give supports that - mentorship tends to evolve organically from companies you work at, the colleagues you work with, etc. It'd be difficult to imagine good mentorship being assigned, and succeeding, at-scale. Even the processes for training competent engineers are only barely scaleable. Most competent engineers are still being trained through colleges. Even newly emerging forms of training don't scale that well - take coding bootcamps with limited class sizes and the low success rate of things like Codecademy.