I can’t decide if one coworker is ridiculously literal or what. I’m trying to convince myself the guy isn’t stupid, because you don’t have a programming career if you’re stupid but still… The best I can manage is that he’s mostly worked in a field where what he gets for specs is spelled out to the last crossed t and dotted i. Which does not work with something that’s grown like Cthulhu on steroids.
Take an interface to the Evil Third Party. It includes the ability (sort of) to do what is known as a Single Sign On – you log into my employer’s software, click a button and a new window opens with you automagically logged into the Evil Third Party’s software. To do this, someone has to associate your login for the Evil Third Party to your user account with Lovecraft, Inc (okay, that’s not their real name, but there are times when it feels that way).
So. You, being a good little programmer, are told that the Evil Third Party remote login feature supports the characters A through Z, a through z, 0 through 9 and a smattering of others including dash, dot and the at symbol. You are also told that Lovecraft, Inc wants to tell the users when they press the magic button if their login has characters outside the list. Do you:
- Block the software from saving any logins with characters that aren’t in the list as well as block the magic button if somehow someone manages to save something with “bad” characters?
- Get a second list that was being sent to Evil Third Party with a message to say “You told us your remote login worked with these characters and it totally doesn’t” and block only those characters from saving logins, but still block the magic button when the login has bad characters?
- Confuse both lists, fail to understand every attempt to clarify things, ask for reproduction steps when the tester tells you she can make the software save characters the DATABASE doesn’t understand, and then wonder why the tester is trying to put a head-shaped dent in her desk?
If you said number 3, congratulations. You are why I periodically harbor fantasies involving lining the streets with impaled programmers.
I gave myself a time out before I acted on said fantasies. Or asked said programmer if he was just trying to piss me off because I found some of the hidden places where everyone had missed a field size change and he didn’t like me pointing to lines in the code. (Three attempts later, he still hadn’t found the one missed size change I know is there. But he doesn’t want me “criticizing” his code, so he’s going to keep getting it back with “the field is still being truncated” until he works it out himself. His choice. I’d have simply said “here. This procedure, line 25. Change the declaration for this property to have a length of 99. Is there anywhere else that this thing could be hiding?”)
I started the code dives because this software is so convoluted changing something in one place is no guarantee you’ve actually done what you thought. After the fourth… fifth…. tenth time an issue bounces back because I’m seeing the same end result, I get irritated and so does the programmer.
Am I being so unreasonable here?