Doin It And Doin It Well

Q: When asked to train your replacement, how much is too much to put into it?

I'm being kept around until the latest release goes into Beta (the limited public release and last chance for bug fixes before the program goes public for real). Until then, I sit around waiting for the testers to find something for me to fix. And then there's a project for which I'm supposed to come up with a front end, but nobody has any idea what the back end looks like: here, go build a house, we'll tell you where the plumbing and electrical connections are, as soon as we get around to designing them. That's stupid. Fuck that.

And, I'm getting ready to ... Train My Replacement(s). I suppose I should be bitter and resentful, but I'm not. Not terribly, anyway. Maybe a little, but only towards the offshore hired guns. Really, I'm just happy about doing it because a) I'll have something to do and b) it's one step closer to the start of my summer vacation.

This thing I'm to train them on is a fairly big application, which I wrote by myself over the course of three years. Nobody else here has even the slightest clue about how it does what it does. So I'm writing documents and diagrams that try to give a high-level view of the dozen different parts, which are spread across a half-dozen database and web servers, documenting some of the undocumented procedures and processes I use to make it all work, etc.. And I'm doing this documentation voluntarily.

I keep thinking to myself "Why the fuck am I doing this? Why shouldn't I just do a 30 minute tour, throw them the keys, and leave with a smirk?" I mean, aside from the fact that doing this gives me something to do, what's the downside for me to letting them figure it out for themselves? Clearly the company (big legal research company, name sounds like Toyota's high-end brand) doesn't care. My boss didn't ask me to do this. He thinks I can teach them this sprawling monster of an application in a couple of hours. Sure, I can teach them how to use it in a couple of hours. But they won't be using it, they'll be maintaining it.

Part of it, I think, is that I like some of the people who are going to have to take over this app. I've worked with them for years and I have the opportunity to help them avoid the frustration and desperation programmers usually feel when they have to pick up something that's undocumented and which nobody in the company has ever touched because That One Guy Who Knew It left six months ago. So, I can be the Guy Who Wrote It All Down; and based on my experience, I'll be the first programmer in the history of programming to do this; I expect an exhibit in the Programmer's Hall Of Fame. That's worth the effort, I guess.

5 thoughts on “Doin It And Doin It Well

  1. The Modesto Kid

    Documentating a project for people who are going to be maintaining it seems like it would be kind of a kick to me. You’ve been walking around with this thing in your head for a couple of years, here’s your chance to get it out on paper. I’m pretty well accustomed to working in jobs where very little gets written down, and what is written down is inadequate and oriented to users rather than developers, because that’s the only kind of job I’ve worked in. The part about not getting recognition or recompense for the documentation sucks, to be sure.

  2. Cris

    Especially since you were the sole developer for years, leaving adequate documentation is sort of protecting your legacy. The less understanding of your application the next developers have, the more likely they are to tear it apart and rebuild what they don’t understand. And you put a lot of time into doing things right; it would be a shame to let that stuff fade away.

  3. cleek

    yeah, you’re both right, i think.

    it is a bit of legacy protection. this really is the biggest thing i worked on, and if anyone who works on it is going to think of me when i’m gone, i suppose i’d prefer it not be in the context of “WTF!?” if i can help them understand what’s going on, maybe it’ll be something a little milder.

    and yeah, it is kind of fun to get it all out on paper (or PowerPoint, in this case). it’s a trip down memory lane – back to a time when my services were valued (this app was actually the talk of upper management for a few months, or so i’m told).

  4. Ugh

    Plus you will avoid being constantly harassed by the replacements asking you questions after you leave.

    You should also stamp “Built by Cleek” at the bottom of each page of documentation.

  5. cleek

    Plus you will avoid being constantly harassed by the replacements asking you questions after you leave.

    any such question will result in an invoice for services rendered.

Comments are closed.