Monday, November 24, 2008

Desktop Java Editorial: Management – The Final Frontier

Good managers should be seen and not heard

The finest programmer I've ever worked with told me recently that she was giving up coding altogether. The reason - a succession of inept and incompetent managers had just destroyed her faith in software development. Recounting her experiences over the past couple of years, she categorized management personalities into certain traits.

The E-mail Egit
Good managers speak to their team, using voice, ears, and brains to communicate in the way that allowed humans to obtain animal kingdom pole position. If monkeys hadn't talked to each other in the jungle but instead had turned their backs on each other and thrown pompously long-winded notes scribbled on banana skins, we'd never have evolved to invent polyester ties, teeth-whitening products, or elastic suspenders.

The Control Freak
My colleague shared an office with a weak junior developer who spent his entire time in awe of the project manager who bulleted action items in daily e-mails to each team member. The jealous employee envied the power this control proffered the sender, yearning for the day when he too could boss people around and gain authority, not having to actually earn it or possess any leadership skills; instead he would be a corporate-blessed fast-track appointed leader, forever basking in the glory or dodging the failures of others on whose shoulders he could eternally languish and lounge upon.

The Doom and Gloom Merchant
"If we don't stop coding four months before we ship our software tool there will be more bugs in it than if we actually spent that time coding fixes, but never mind reason or logic or time and space arguments, we're all going to die because this graph shows our market share is going to disappear next month. Planes will fall out of the sky, ATM networks will go down, freezers will auto-defrost across the globe, the ice caps will melt, and giant men with beards will blockade the fire exits".

The Meeting Junkie
A manager's idea of a fun day is one where the entire calendar is booked with meetings because, unlike a developer who produces code, they produce nothing so are left with having to judge their shareholder value by how many meeting invites they receive. This is an atavistic fulfilment from the fact that they never got asked to kids' birthday parties at school. At these management meetings people stare at meaningless figures and stupidly named charts, technology inept fools wrestle unsuccessfully with telephones and projectors, and when the hour is thankfully up the occupants decamp to another room to repeat the whole charade ad infinitum.

Spreadsheet Sally
By playing with the project spreadsheet cells' data and formulae, brainwaves leap out of the page. "Hey, if we outsource everything to Uzbekestan one week before GA we can save on staff overhead." "If I give you a land economics intern who once sat next to a man on a bus whose auntie got a postcard from Java, plus the tea lady two days a week, that artificial intelligence program you're behind schedule on should be finished by August 24."

The Failed Programmer
Most development managers fall into this category. Software companies hire people because they're good at writing code and as their career progresses, experience and wisdom combine with a raw problem-solving aptitude that allows developers to grow in stature, seniority, and respect. Following Darwin's theory of evolution the weak should naturally die off. However, in software development companies they're given a way out - become a manager. The problem with failed programmer managers is that at the back of their subconscious is a resentment of all developers who, no matter how subordinate, possess skills that the managers failed to master earlier in their lives. This bitterness and jealousy poisons and mars all the manager does and thinks.

Good managers should be seen and not heard. Their job is to protect and insulate the team from hassle and bureaucracy, not inundate them with it. The best development team is one that can manage just fine without managers.