It's a few years back, and this contract programmer pilot fish gets the assignment to create software tools for programming an electronics company's cable set-top boxes -- and when the job is done, he's pretty happy with the result.
"It was as nice a bit of work as I could turn out under the design restrictions, thankyewverymuch," says fish. "When it was completed, my contract was over, so I stored the copious design docs, business rules, functional spec, high- and low-level design, etc. -- none of which were required by their development guidelines -- on the development server.
"I also printed a full set and wrote a memorandum describing the entire source code archive, documentation structure and contents, all of which I delivered to my client manager in my exit interview."
The client manager puts the huge stack of documentation -- it's almost four inches high -- neatly on the corner of his desk, and thanks fish for his efforts. Then they go out for a celebratory end-of-project drink.
Fast forward two or three years: Fish's company gets another call from the electronics maker, this time asking for someone to use the tools fish has created to actually write code that will control the set-top boxes.
And in the best tradition of eating his own dogfood long after the fact, fish gets the assignment again.
"When I got there, I noticed there were all these notes about workarounds for the pseudo-compiler system I'd written before," fish says. "Most were due to changes in the architecture, but a couple were the inevitable bugs that show up."
Why didn't you just fix the bugs and change the compiler? fish asks the client manager -- the same guy as before.
His response: They couldn't find anything anywhere about the tools fish wrote -- not source code, not documentation, nothing.
But I gave you that big stack of printed documentation, with pointers to the versions on the server, says surprised fish. Client manager replies that he doesn't know where it is.
Fish looks at the client manager's desk, then reaches over and moves several inches of paper that has accumulated over the previous couple of years.
"The very stack of printouts I'd given to him was still on the corner of the desk, right where he'd put them," sighs fish. "And when we looked on the server, all the documents and source were right where the memo said they were.
"It's a shame he had become a friend. In a fully professional environment, I couldn't have ridden him about this the way I did -- for a long time."
Sharky's easy to find -- I'm always at firstname.lastname@example.org. Send me your true tale of IT life, and you'll get a stylish Shark shirt if I use it. Add your comments below, and read some great old tales in the Sharkives.
Get your daily dose of out-takes from the IT Theater of the Absurd delivered directly to your Inbox. Subscribe now to the Daily Shark Newsletter.