Wednesday, September 2, 2009

The Man in the Mirror


*pause*
*deep breath*
My name is Zac and I'm a manager.

Sigh.

Way back when--about two years ago--being a dev manager seemed like a ticket to easy street. To be honest, I don't know that I was completely wrong.

Back then I thought anyone with 'manager' in his title was either ineffectual, dead weight or, worse, someone who got in the way of really getting the work done by bothering me for constant (and pointless) status updates. The latter was primarily the realm of project (or program, if you prefer) managers, for whom I had a particular distaste.

In contrast, my dev manager didn't seem to do much of anything. He'd send out emails about 'flow' or his random, half-witted musings. He didn't participate in any of my daily work, he wasn't responsible for any particular project or any real work other than going to meetings and if shit hit the fan, finding someone to blame.

The closest analogy I can of to how I felt at the time was like a man who's fallen overboard in the middle of the sea, treading water in the middle of the Atlantic, while wave after wave of work crashed down on my head, pushing me further down in the water each time, until finally I no longer had the strength to come back up for air. Being a dev manager seemed like an awesome gig compared to that.

Let me get this straight. I don't have any real responsiblities, I send out random dumb ass emails, and I go to a bunch of meetings. Oh, and I get paid a lot more money. Where do I sign up?

When I arrived at my current job, it seemed like I'd arrived in the promised land. I pretty quickly started having some personality conflicts with my manager (I felt he was micromanaging me), but ultimately I settled into my role fairly well. I've moved around a few times within the company now, managing various projects and groups, and at times I've felt as thought I contributed something worthwhile. Much of the time, however, feel like overpaid dead weight. I am part of the problem. I am no longer a doer, I am *sigh* a manager.

Of course, that was what I wanted wasn't it? And, on the whole, my own self-flagellation not withstanding, I'm still a hell of a lot happier than I was than I was at my last job.

Many would argue I can still be thoroughly technical and engaged at a low level and that it's merely laziness or incompetence on my part that prevents this. Or at least, my own internal voice whispers that from time to time. The fact of hte matter is, though, that I directly manage at least 7 development leads and a total of 30+ developers including offshore resources. It's really hard to go too deep into any one project or code change. Now and again, I involve myself a bit more deeply, but hell, half my days are spent in stupid meetings or updating "resource loadsheets" to appease my manager. There is no way I have the time to look at code much if I want to get my other work done.
As a technical lead at my former job, I attempted this, acting partially as architect, part as direct contributor, and partly as manager and in general it always meant that my managerial duties (which is where I should have been directing most of my energy) were done poorly.

I'm not directly responsible for much of anything anymore. The expecations placed on me are, in some sense, pretty minimal. That's a blessing on one hand. On the other hand, I still am a dev at heart and I have moments of self hatred for being in this position. But again, it's precisely the position I aspired to be in.

At the heart of this is a question about the value proposition of any individual as he moves up the corporate ladder. Or at least this is the case for technical people. It seems that the higher one moves, the more money he makes and the more "official" responsibility he has, but the less that person really does in terms of getting day-to-day matters taken care of.

To be fair to myself, however, I *do* contribute real value. I push the other managers to look at why they have so many meetings, I continually question whether offshoring really is saving the company any money. But nothing that I do gets those lines of code written. And that's the thing I struggle with. I suppose there is need for people like me in larger organizations such as the one I work within.

But I think there could stand to be far fewer of us managers at my company than there are. Just as I did when dev, I still like to think I contribute much more value than the 4 or 5 layers above me that seem to do nothing. But then again, I suspect some (all?) of the devs beneath me really question what I do and what value I'm contributing.

There is no easy answer to these questions. I don't find what I do terribly fulfilling, but I make twice the money I made as a dev and my life is relatively stress free. I work maybe 45 hours a week on average compared to my old job where 60 hours was a "light" week. But part of me longs to code again.

I think the only solution is to be part of a small company, a focused start up, where there is a relatively flat hierarchy, where the doers and the managers are the same people, where the people at the top are as technical as the people doing the actual work, and a director is never afraid to start coding away if necessary. The problem is those types of places usually are from most accounts high stress and low pay. And I've had my fill of that.

So, I guess, a manager I stay.

4 comments:

Joshua DeWald said...

I too once thought that managers did nothing (and obviously, some do). However, a good manager has the solid role if facilitating so that *other people* can get the details taken care of. A manager should hide the BS politics from those below them. A manager should filter out nonsense requirements. A good manager can effectively assign out the work to the right people.

A good manager doesn't seem to do anything, because they create a situation where the people under them can effectively work. A bad manager is obvious because it's so difficult to get any work done due to the nonsense that they allow to come down to the people under them. A bad manager is also the ones who never know what the work should be, leaving the ones under them spinning their wheels.

I think in many cases "manager" and "lead" can be interchanged, it's just a matter of who you're leading.

In working under you (sort of), I did find you to be effective in that you tried very hard to make sure that work was always progressing. Within the SCRUM methodology, you made an effort to make sure that daily stand-ups didn't veer too much off track. All those are things that let us actually do the work we needed to do.

As a lead, I hope that I was also doing the same for those very few who were "under" me.

Code Monkey said...

Oh, I agree Josh.

I'm not saying managers (or I) do nothing. I think a lot of this stems from the need to be *doing* which, in the case of a manager, is usually not the most effective way to spend his time.

Even if I was the most genius programmer ever (and I'm definitely not), there is only one of me. There are 30+ people who report to me. My time is best spent ensuring those people can do their jobs effectively by, as you say, shielding them from bullshit, being their advocate when need be, etc.

But you can't get past the feeling of uselessness when you're stuck in meetings half the day, and the other third is spent approving timecards. It's impossible to not feel like part of the bureaucracy.

Again, I think that's likely more to do with the organization for which I work than "being a manager" per se.

At times I think of going back to just being a lowly dev, but the fear of reduction in salary and increase in stress keep me from doing much. Well, that, and the fact I *do* like trying to bring change, at looking at high level stuff.

To me, though, the ideal solution is to have an organization is where everyone takes on that role, though, where there is no hierarchy, where being "under" someone (even in quotations) doesnt' really exist.

I've not yet convinced myself that that will ever work in practice, though, as human nature will always out. Maybe I've just been at the wrong companies.

Adam said...

I kinda want to be a manger now. Let's see... 45-hour weeks, good pay, time to write blogs, and time to work on my incredibly sexy pecks. Yeah, I can dig it. Where do I sign up?

Shaun said...

Take a look at the culture section http://en.wikipedia.org/wiki/WL_Gore_and_Associates