BOFH: Get me a new data file or your manager finds out exactly what you think of him
A developer in sales? You poor, poor creature
Episode 10 So I'm trying to deal with one of our software vendors about a trivial customization issue and instead of passing me to the person who could sort this out I've been palmed off onto a pre-sales idiot who's trying to sell me a product upgrade to allow me to make alterations myself.
The issue is that the software concerned is an antiquated labeling app with a grandparented site license which grants us the right to use that version of the software in perpetuity (back when people thought "perpetuity" meant midnight on the first of January 2000 with the dead rising and the Bay City Rollers reforming).
The vendor of the software doesn't like the lack of a revenue stream and has taken a leaf off the toilet roll of other software vendors and tried to convert a perpetual license into a renewable one.
And they've used various tricks to try to coerce us into "upgrading" the license by issuing quick-fire version releases then limiting the supported versions and removing online license validation for older versions – you know, the usual.
Now, no one is saying the old labeling software is good, but it is integrated into some user-written Visual Basic that seems to consist of about a million IF statements, and if it ain't broke …
Lots of companies have these bits of software. Some spreadsheet a bean counter has cobbled together with a lookup table of data that no one knows anything about that produces the right numbers every month so they're never touched. Or maybe an inventory system for bill-of-materials compilation which works perfectly, so long as all the input data is transcoded into EBCDIC and input in 72-character lines.
"I don't need to be able to do this myself," I tell the sales bloke after he encourages me one more time to take up their one-time offer (but before he offers me the set of steak knives). "I'm happy to call and ask one of you to change our contact information and remove the fax number."
"Yes, but wouldn't you like the option to edit your return address information yourself?"
"But you'd be able to do this so much quicker."
"Quicker than talking to you on the phone about this, or quicker than it used to be when I last called – about ten years ago – to get our telex number removed?"
"I mean just quicker overall. You'd be able to change absolutely all your company details, name, address, postcode, contact information, any time you like and from anywhere you liked."
"How many times do you think we'll need to change our postal address in the future?" I ask, trying a different tack. "It's been pretty much the same address for more than 20 years. At this rate the only reason we'd want another change would be to update the planet field."
"But still, you'd have the option. And you'd be able to change a lot of other things too."
I'm starting to think I'm not getting through to this guy.
"The issue is," I say, "your software is precariously balanced between the three points of: (1) it costs nothing; (2) it requires no intervention on my part; and (3) it's used by an idiot. We don't want to change any of these things, because it will be a hassle."
"Yes, but …"
- BOFH: Ah. Company-branded merch. So much better than a bonus
- BOFH takes a visit to retro computing land
- BOFH: We send a user to visit Kelvin – Keeper of the Batteries
- BOFH: The Board members are looking very ill these days
"Look," I say. "This program makes labels OK. The only issue is we want to change the return address information in the top right corner to remove the fax number – only this information is baked into the data file. Now I could, if forced to, probably hex-edit the data file to replace that whole field with spaces, but I thought it would be easier just to get a new data file – like I did about ten years ago."
"Yes, but you can do this yourself with the new software."
"You heard the bit about 'used by an idiot' didn't you?"
"The program is only used once a month to produce address labels for the board papers, and it only produces ten labels each run. It would be simpler to hand-write the addresses, only we've got that idiot – so none of the board would get their board papers. We need to remove the fax number because a couple of board members keep trying to fax back their signed acceptance documents. Now I could just print all the addresses onto a single sheet of self-adhesive paper, but that would mean giving the idiot scissors. And yes, that would undoubtedly solve the idiot problem, but I'm looking for the simplest option. Surely you must understand what it's like to work with an idiot."
"… I do," the sales guy mumbles.
"Is it bad?" I ask.
"Worse than bad. He's one of the senior managers," the sales guy blathers. "He doesn't know anything about anything and he's put me in sales. SALES! I'M A BLOODY DEVELOPER AND I'M IN SALES!"
"So you're a developer?" I ask.
"And you could fix our problem by just dipping into the old code and generating a data file."
"No, I don't think I could do that," he says, sanity returning.
"Are you sure you couldn't?"
"I'm pretty sure I couldn't."
"Is it because it's a hassle?" I ask.
"Would it be as much of a hassle as it would be if I were to ring your senior manager and ask him to go back through the support call recordings to find what his salespeople say about him?" I ask.
"Or should I just email you our data file?"
"And maybe send me a development version of the new code with no license requirements – in case we get a new idiot?"