Search This Blog

Wednesday, April 8, 2009

Programmers Need Leadership

Many programmers are also musicians. Many have fluency in multiple spoken languages. Many have a gift for mathematics. It seems that these abilities are somehow related in the human brain. This has been apparent for decades to those who guide students into appropriate careers.

A bit of reflection reveals that these are all somewhat solitary pursuits involving individual dedication and a large degree of creativity. Of all of these career paths, software development may be the most accessible and the most remunerative. Pair this with the tendency of many socially gifted personalities to throw up their hands when confronted with technology or mathematics beyond what can be done on an adding machine and the corresponding inability or unwillingness to grasp qualitative differences in abstractions such as software, and you get a recipe for significant problems.

People who are intimidated by the technology of a personal computer or laptop are glad to grant credibility to the first person who can make the technology perform the desired tricks. The non-IT parts of the business have come to terms with this and simply compartmentalize I.T. so that as few as possible must have anything to do with those people.

Now add an additional dimension: the belief (common these days) that a good manager can manage anything. This may be true, but having worked with and come to know many developers (programmers), the credible manager is an absolute rarity in I.T. Just ask any developer (or network admin, server admin, DBA...). You'll find that a manager who enjoys the credibility and respect of the "troops" is the very definition of raris avis.

The bottom line is that software developers and the associated technology disciplines comprise people who have had to figure things out for themselves and who know that their bosses don't understand what they do. The combination of these two (an ability and an awareness) produces people who have an approach to life that is similar to that of a cowboy or possibly a farmer. They are independent and like it that way. They won't turn from a challenge, even if that challenge is doing something that they believe is appropriate despite known management objections and even obstacles. They simply know that when it works, everything will be forgiven.

And it is.

I am disheartened when I follow discussion boards on the Internet. A provocative question is posed concerning methods and the discussion immediately goes to tools. Terms that have been around for decades are redefined without any acknowledgement of the accepted definition. Adding insult to injury, this is done even by data architects who, more than anyone else, should know better.

What I am seeing in these discussion boards is a playground full of gifted five-year-olds with absolutely no supervision. They are capable of amazing feats, but at what cost? If you are the CEO or the CIO of a company, do you have ANY idea what it costs--not in salary, but in uncontrolled complexity and corresponding maintenance costs--to allow this?

You can't blame the five-year-olds. They aren't the problem. They are doing exactly what they were put there to do. If you can't find managers who are capable of establishing some level of respect and control, then you must at least find leaders among the children and give them a mentor.

Even mathematicians respond to this. Remember the Manhattan Project? This project produced the atomic bomb that ended WWII. Dr. Robert Oppenheimer was the mathematician/physicist leader who guided the work and Gen. Leslie Groves of the Army Corps of Engineers was the administrative mentor. One mathematician, no matter how capable and creative, could not have developed the weapon in the time available. But 5000, without leadership could not have done it either.

Data is available through the Software Engineering Institute at Carnegie-Mellon University on the cost benefit of a managed development team using defined processes. Once the processes have been defined (which takes leadership), the manager has only to believe in and rely on the processes in order to achieve predictable, low-cost results of known quality.

Whatever path you choose, it is you, the executive leader, who is responsible.

No comments:

Post a Comment