Subj : Re: Software Job Market Myths To : comp.programming,comp.software-eng From : CTips Date : Mon Jul 04 2005 08:09 am shelley@osel.netkonect.co.uk wrote: > > CTips wrote: > > > >>(and most managers cant - if they could, they probably wouldn't be managers) > > > > > Um, yes - crossed my mind too - but that's another can of worms. > That *wasn't* a pejorative statement. The complete statement was (slightly rephrased): "Most managers can't grok the capabilities and/or motivations of exceptional programmers - if they could, they probably wouldn't be managers" One factor in the inability to judge an exceptional programmers capabilities is the fact that they are so much more capable. Consider an athlete who can run a mile in under 4 minutes. We can reliably predict that he will run a mile in 4 minutes +/- some seconds. However, how do you think he will do in a marathon? the 100m sprint? rock-climbing? a 10 mile bike-ride. It would be safe to say that he will do much better than your average runner, but we can't predict how capable he is at other athletic endeavours. Similarily for programming. Lets assume a person solves a problem that a team had previously unsuccessfully worked on for a year in about 3 months. We know he's probably very capable. But how will he do on a different problem? Better than the people on the team, but how much better? Another problem in judging capabilities is the lack of a yardstick. In general, we can't measure the complexity of a problem. We may be able to measure the complexity of the solution, but that may have little bearing on the complexity of the problem. It may be a simple problem for which someone wrote a complex problem, a complex problem whose program is simple, or a complex problem for which the programmer discovered an elegant solution. Unlike the 4-minute mile, for which there is an absolute metric, or the failed project, for which there is a comparitive measure, for most projects the way a projects complexity is decided is using the managers judgement. If their initial determination of the projects complexity is incorrect (i.e. they consider a complex project to be simple), and a programmer brings in that project quickly, they will underestimate his capabilities. Now, lets take the case where a manager actually can judge exceptional capabilities correctly. That generally indicates a more general competence (they need to be smart, people-aware, and technically competent). Also, it indicates a certain ambition (they obviously wanted to become managers). Such people tend to either go back to the technical ranks (they discover they are happier doing technical stuff) or, in larger companies, get fast-tracked and promoted upwards. .