Sunday, September 23, 2007

Managing Humans, Michael Lopp

Title: Managing Humans
Author: Michael Lopp
Rating: Good

This isn't one that most people are going to read, but for a select few it would be a good idea.

I've read a few books about software engineering management, but just a few. Of the ones I've read to date, far and away the best is titled Peopleware by DeMarco and Lister. For those wanting to learn some interesting and useful things about software development and management, Peopleware is hard to beat.

What Peopleware lacks - and it isn't much - is actual advice for software development managers on how to deal with real world situations. It takes a different route and looks at slightly different issues, and that's all well and good, but it's not enough. People who create software are a particularly odd form of humanity, with some issues and concerns that seem to be different from those found in others. In short, they're nerds. (Yes, I'm one too. I'm even proud of it, though I have been out of the business for a while now.) As a result, software developers need slightly different handling than others, so some pointed advice is called for.

Managing Humans is a book by a nerd manager about managing nerds. It's got stories that I (as a former software engineering manager) can relate to, and it's up to date about how companies are acting and treating people now - in late 2007. And it's got actual advice on relevant things, like what to do when an employee freaks out about something, how to handle reorgs and RIFs, detecting agendas in others, and so on. This is good useful stuff, and while some of it will apply regardless of what field you're in, some is pretty specific to software developers.

I cannot say I agree with Lopp 100% of the time, however. The single largest issue I have is with NADD - Nerd Attention Deficiency Disorder. He makes a big deal here - and on his website http://randsinrepose.com/ - about NADD. He suggests that people who don't feel right unless they have a bunch of tasks going on at once are happy and productive when in their element, multitasking away. He calls them NADD sufferers, and he numbers himself among them. As it happens, I clearly do not suffer from NADD as he describes it, so my perspective may be a bit jaded, but when I read elsewhere in Managing Humans that bringing laptop computers to meetings is a bad idea I started to wonder.

Lopp doesn't like laptops in meetings because anyone with one is only giving both the meeting and his computer half (or less) of his attention. But wait... NADD suffers - including Lopp - live for (and like) this. According to him they're supposed to be good at multitasking and the context switch, and yet - also according to Lopp - they can't be good at those very things in meetings with a laptop in front of them? Hmmm. Somehow I don't think he can have it both ways. Either NADD sufferers can be good in meetings with their laptops present, or they cannot be good in any context with too many inputs going at once.

For me, a laptop in a meeting is a disaster unless I am using it only to take notes, and even then it can be a problem. But I'm definitely not a NADD sufferer, and thus my case isn't a good example. A former boss of mine is clearly a NADD sufferer, however, and I hated it when he brought his laptop into meetings. He was clearly less effective when it was there, and it was rude besides. But once I reached that conclusion, I started thinking about how he worked in general. Watching him was an exercise in watching a super-ball bounce around a room. He was always doing six things at once, and yet his to-do list was always huge, and often projects were backed up waiting on his deliverables. I don't think he was all that effective at getting things done if he let his NADD tendencies get out of hand. But, when he knuckled down and focused on just one thing for a few hours, he was amazingly productive - far and away the sharpest developer I have ever worked with or for.

The moral? Perhaps NADD isn't something to be thought of as an advantage. Perhaps it should even be stomped out in the workplace in order to gain productivity in the longer term. Anyway, my personal experiences make NADD look like a drawback and I'd like to see Lopp ponder that issue in more depth.

I also disagree with Lopp about annual reviews. He thinks they are important. Period. I hated them. Period. They were a waste of time and effort, and I never got anything useful out of them. As a manager I spent huge amounts of time researching and writing them, but if I was doing my job properly there were no surprises for my people in them anyway. And that's the key: if you're a good manager, you're keeping your people up to date on career things all year round. If you're a lousy manager, though, the review probably doesn't make up for the lack of communication that should have been going on before, and (even if it has good information in it), the employee getting it will hate it because it comes from you - the lousy manager. In a nutshell, reviews were a waste of time, both for the receiver and the presenter, and that's my considered opinion after 18+ years in the industry.

So Lopp and I don't always see the world in the same way. That's fine. You might agree with his perspective and ideas more than I do. If so, good. I like that because anyone who's doing the amount of thinking he is about these things is probably good at his or her job, and that's the important point.

In the end, most of Managing Humans is pretty good, and at least half of it is actually useful in day-to-day situations where you need advice on how to handle some particular event.

Recommended for current and future software development managers.