Sunday, October 19, 2008

Runaway Pattern

There’s a runaway pattern of holding strong software developers in key technical positions while befuddled managers do nearly everything else incorrectly. It’s not quite that bad, but Dilbert® cartoons would not be popular if something were not fundamentally wrong in the software development industry. You can be part of the solution, but you have to decide to make your move.

The capabilities of a software manager, broadly, are two. First is functional or technical leadership ability within a domain of knowledge related to the work that is being managed. The second is the will to lead people. These are complementary abilities—they support and build on each other as your abilities grow. Still, for most people, one or the other of these will be stronger, and that one will generally set the tone of your management career. The simplest way to see this is the ultimate evolution of these capabilities into the chief technology officer (functional leader over technology direction) and chief operations officer (usually responsible for most of the people who execute day-to-day business). Both of these chief roles require a strong capability to lead, but they arise as distinct abilities and strengths in a career.

As a manager, you can outperform many others who use the concept of evolving design incorrectly. They do not understand the technology well enough to evaluate the feasibility of a solution to an obstacle. Without the power of technical aptitude and experience, they direct their teams to get started, hoping everything will work out. These managers passionately direct their teams toward goals that will never be achieved, destroying confidence and value until the effort is abandoned. Technical competence, on the other hand, allows you to know what should be possible (and the caveats to express it properly), and what is impossible no matter how well things go.

Thanks for reading this Management Use Case. I'm the co-author of a new book on software development leadership entitled You.next() that features dozzens of other use cases for leadership. Please see more at www.youdotnext.com.

1 comments:

Hana said...

Suppose it would be worthwhile to distinquish between management and leadership. Especially early on you will be judged almost exclusively on your management skills (your ability to get things done within time and budget, work effectively with your resources) only later constraints become looser so you actually could decide what tree to cut down not just ponder over optimal wood-cutting strategies for a given tree.

Concept that "you can outperfom many others" does not seem viable to me. As a PM I work with wide range of people and each and every of them would outperform me in a certain aspect - be it business, technology or product knowledge, networking - to name just a few. Management is just a service so feeling superior does not look to me as a good starting point.

And why many strong developers remain in key technical position? From salary point of view the difference between key tech and lower managerial position is quite small. As technicians they are appreciated, this may not be the case if they become managers (being blamed for things you could not change anyway seems to be part of that job description). If there is a success than it is only thanks to the team, if failure then manager must take the blame.

Also I would not emphasize understanding of technology as a success factor. It may be because I do not have any technical background or because I work in a large company - where technology used includes also IT legacy over last 30 years... Personally I feel being proficient with one/two technology is a drawback. You then rely on your knowledge - but as your job is elsewhere you may not be as proficient as you used to be - instead of finding an expert, discussing the possibilities, judging and taking decision. I believe if you have an access to knowledgeable people (either inside company or outsourced) - by asking questions, listening and applying some reasoning skills you can design and deliver successful solution without previous knowledge of technology used.