Monday, July 10, 2006

Reporting To Me

After a few years off from the people-management thing, i find myself back in a technical management role. Why, i don't know. I really thought that i was done with that, because i didn't really like it much the last time 'round. It's not that i especially suck at it, it's just that i'm not sure i believe in hierarchical decision-making structures. There are times when it's convenient or more efficient to have an individual who must make the final decision, but i'm not sure that it leads to better decisions.

So far the hardest part this time is hiring people. There seems to be a dearth of really good Java programmers, especially those who have strong analytical capabilities. I get a lot of alphabet soup on resumes, but problem-solving skill is hard to come by. My company's interview procedure involves solving a relatively simple programming problem, and so far 4 of the 5 interviewees that i've had for senior positions have totally failed at it (we hired the 5th). This is *not* a hard problem. I posed the problem to my wife, who admittedly is quite intelligent but not a programmer, and she was able to describe a correct procedure for solving the problem without even benefit of pen and paper.

What's odder still is the many of these folks are very bright. They can conjure up obscure facts or calculations that are essentially irrelevant to the problem. What they lack is not intelligence, but some skill or trait that enables them to get to the point. They seem to have no apparatus for starting the problem. It's kind of like when my younger son Henry started playing soccer. He would quickly score 3 goals at the beginning of the game and they'd make him stop scoring. It wasn't that he was that much better at soccer, it's just that he seemed to understand the point of the game better.

Boy, i still really hate meetings too. Like a lot of companies these days we've got multiple management perspectives: the management of engineering, the management of projects, and the management of products. That basically means that any given engineer must deal with, at a minimum, 1 + 2 *(number of projects) people who can potentially call for meetings. At the technical management level that expands to the projects of everybody that reports to you, so basically life sucks.

My main motivation for this move were, i guess: 1) i liked the guy i worked for and he moved up, 2) i honestly think that the part of the business i work in is interesting and i hope to have some influence on it. Or maybe it's just because i'm old and it sounds better to say that i'm in middle management rather than a code monkey.

No comments: