Minority Opinions

Not everyone can be mainstream, after all.

Gatekeeping Nightmare

leave a comment »

I just woke up from a dream, and couldn’t relax enough to sleep again.  The big problem is that it was entirely too realistic.

The company posted on the break room wall a financial document, listing contributions to various projects and the income they generated.  (That this was a scrollable document on paper, I attribute to dream logic.  That such a document would never actually be produced, I attribute as much to the impossible accuracy and understanding required as to the culture of privacy about actual salaries.)  My supervisor then turned and named me as one of the top generators for the company, and said that upper management would like to see me in a sort of “gatekeeper” role.  That scared me awake.

I can’t dispute either statement.  I do generate a lot of code for the company: Commit logs show my name about half the time, for six- to ten-man teams.  (We do have a woman on the team, but she’s QA; her contribution is bug reports, not code.)  Granted, that’s largely because I commit in smaller chunks, probably because I treat the commit log as part of my knowledge pool, but my name also shows up on massive swaths of the annotate command.  I also have two major areas of responsibility: the “old” product line (meaning the one that makes us money while we work on the one that the sales team promised would be ready by now), and integrating our three product lines with all but one of our clients.  Combined that with a few minor responsibilities within other areas, and we get a lot of talk about clearing my plate.

Granted, there’s a wrinkle in that I don’t actually write the product that we’re selling.  I only write the delivery mechanism.  And the old creation mechanism, but it’s been superseded by a new one that I hardly ever touch due to the language it’s written in.  For very good reasons, despite the pain.  That leaves my team entirely symbiotic with the content development team, which is one very good reason the financial report could never be written honestly.

Neither can I dispute the gatekeeper part.  I can see my future in my own supervisor, who has been managing instead of coding since about the time I was hired.  What code I’ve seen from him has been good, but he’s been needed to explain technical realities to the grand visionaries who dictate the company’s future.  He also has the ability to recognize good code, which has probably saved my job on a few occasions.  I’m absolutely certain he would like me to teach what I do to the rest of the team.

I’m nearly as certain that I simply can’t do it.  I’ve tried to teach at church, at school, and at work; every experience has been closer to disaster than success.  My best teaching experiences are thought-provoking comments in a discussion led by another; even then, I have failed to comply with a request to repeat myself.  As a guide for a self-directed learner, I’ve been halfway decent, but that’s less about sharing what I do than the path that I took to learn it myself.

The worst times have been when I was asked for a “brain dump” in front of a blank whiteboard.  After a few minutes of incoherent rambling, I can sometimes elicit a real question that can only be answered by looking at the code.  Even the simple questions that I field on an almost daily basis, frequently from the help desk, usually require a code scan, because I simply don’t keep that level of detail in my head.  What I do keep in head is a basic overview of how the code flows, a set of guidelines for its ideal state, and a set of places and methods to look stuff up.

Perhaps I could be a decent pair-programmer, which would give me a chance to show what I do.  There would be some major frustration, particularly over the choice of editor, but I might possibly be able to work something out with a willing partner.  Simple delegation, however, has proven beyond my capabilities.  Either my wingman is frustrated with the lack of direction, or I’m frustrated with the lack of quality, or my supervisor is frustrated with the lack of progress.  If it’s faster to do it myself than to explain how to do it, then why exactly am I delegating?

Granted, that’s probably why I have responsibility for two major areas of the code base.  I’m the only one who knows how they work, and I don’t know how to explain it except by guiding someone through the code itself.

Advertisements

Written by eswald

29 Aug 2011 at 5:57 am

Posted in Employment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s