I’m a pretty pessimistic guy (ok, brief pause while everybody who knows me says “No shit, Sherlock” and rolls around laughing), and so as I’m working in a job I like a lot (ok, I’m partially responsible for delivering all those god-damned ads at the beginning of movies, but really it’s not my fault) and I’m making a ton more money at it than I ever have in the past, I naturally have to wonder what’s next after this gig runs out.
The way I figure it is that it’s inevitable that every programming job in the country either goes to bright young things straight out of college who don’t know much but have no qualms about working 80 hours a week, or they get outsourced to India or China. At that point, I figure I have a couple of choices:
- I find myself unable to find programming work, so I try to scratch out a living with something else like canoe building or … damned if I know.
- I try to manage these bright young things straight out of college
- Worst case: I end up being US contact/manager for some group of foreign sweat shop programmers.
Well, canoe building isn’t going to keep me in avgas, so I should probably learn something about being a manager. So I’ve been watching my project manager and trying to figure out what he does. And believe me, it does NOT look like something I could do.
First of all, his primary job skill seems to be patience. He’s constantly pushed around by higher ups changing goals and demanding more and different stuff on tighter time frames, and from below he’s constantly dealing with programmers who say “Well, when I said such-and-such was ready, what I really meant was that my part was done, and I’m waiting for Mike/Rohan/Tony to do his bit. Oh, didn’t I tell you that I needed Mike/Rohan/Tony to do part of the work?” I have no idea how he can do this day to day without shouting at people. I’d probably be kicking holes in the wall after two days.
The second part of his job seems to be keeping track of every aspect of the project – not just what everybody is working on right now, but details about how each part works. Not minute detail – I don’t expect he could muck into the source code and start hacking, but enough that he can ask questions that are usually pretty intelligent and informed, even if they’re not always on the mark. (Hmmm. That probably needs explanation. He asks questions that show that while he might not know how something is implemented, he knows enough about what was implemented and why that he can sometimes raise issues that you might not have thought of yourself, although a lot of the time it’s stuff that you have thought of and planned for.) I’m not sure I could mimic his broad but not deep knowledge – I much prefer to have deep knowledge of my part of the project but only a passing acquaintanceship with the other bits.
So all in all, I’m not hopeful about my ability to transition to management. Maybe I can just hope that I can keep doing what I’m doing and have Vicki support me in my dotage.