"The first thing we do, let's fire all the middle managers."
Good. A recent comment starts: They should start the layoffs with middle managers...
I agree with that. Good point. The comment continues: ...[t]here's this guy who goes by Mini-Microsoft who seems to want out.
Who-da, What'za, Me-za?!? Yeah, well, okay, when you point a finger, three point back at you. I'm currently bored and exporting the GAL via Outlook to Excel to figure out how many manager-of-managers we have compared to all of management and what their average number of reports are (good lord, has Outlook ever profiled this? Can't be a common scenario and I'm squeezing my innards trying to psychically induce Outlook to run a little faster).
My intuition off-hand tells me that we have way too many idle managers, especially managers of managers. Whenever some new person shows up in an important email, I click on them in Outlook and look through their org. I'm constantly disappointed at the high percentage of managers and low percentage of individual contributors in the groups I run across. Smelly.
Maybe it's individual contributor attrition due to the fact that Google and the local start-ups are only hiring the productive people.
I figure that a feature-team manager at the minimum can deal with five reports; seven would be better (+/- 2). And, yo, just focus on the managing. Don't go and spin Alpha-Geek mythology around promoting someone from individual contributor to front-line manager and then require them to both (a) create code and (b) manage. Gee, which do you think their passion is going to direct them towards?
"We promote our best developers to leads," is the mantra instilled when the shades are closed and the candidates considered. I've never quite connected the dots of "Best Developer" and "Great Manager."
Via Dare Obasanjo:
Michael Brundage has an essay entitled Working at Microsoft where he provides some of his opinions on the good, the bad, and the in-between of working at Microsoft. One key insight is that Microsoft tends to have good upper management and poor middle management.
And in Working at Microsoft you have some choice bits, especially regarding the whole idea of promoting our best developers away from the code and throwing them into the throngs of management. One bit:
Of these managers, I'd work for (or with) only two of them again. Two were so awful that if they were hired into my current organization (even on another team), I'd quit on the spot. I'd love to think this is some kind of fluke, but many other employees have shared similar sentiments with me.
Back to Dare on the cost of poor management:
Rest assured it is very true and the effects on the company have cost it millions, if not billions of dollars.
My humble suggestion: flatten the Microsoft product team management chain.
- Not allowed: a lead with one or two reports, or a manager of managers with a sparse organizational tree. You're considered minimally loaded at five reports, and in need of internal balancing if it gets below that.
- Do a people review of middle management. Move on the dead wood and the Rest & Vest.
- Give front-line managers the opportunity to return to individual contributor status. You know, let our best developers get back to doing what they are best at.
- If the remaining managers are indeed great managers, let them take on a full load; otherwise, forcefully transition them to individual contributor and require them to excel against their peers.
If all this process is paying off, I think we can get by with a lot less management and a lot more personal Engineering Excellence.