Programmer-To-Person Dictionary

There’s this programmer mind in me that interferes with life. For example, last Monday I received a paper saying that “maintenance work begins on Monday at 9″ (then some paragraphs of text) and also saying “no water during 9 to 14″.

After thinking a bit of this, I started wondering if these 2 are separate issues or not. So, I had to phone call the maintenance company guy and ask if there would be water shortage on other days as well, since that “no water” text was far away from the header, so it was impossible for a programmer mind to 100% say when the water shortage would occur. (It was only on Monday, which took at least 3 minutes of time for the non-programmer mind guy who explained something about some other company and what they needed to do when I asked “will there be running water on other days?”).

Similar things happen to me all the time. I see an ad stating “almost unlimited” and my brain stops functioning. It goes to endless loop trying to figure out exactly how unlimited that almost unlimited is. It’s bit like when this one dude was arguing that he pirates music and it’s “almost legal”. To me that’s “illegal”.

Anyways.

Programmer mind can be tricky. It functions on a different level than any normal human being.

And for that reason, I have done this helpful guide which first states “what programmer says” and then “what programmer really thinks”. Any producer can find this very, very useful.

“It’s almost finished”
Contrary to what you would expect from a “rational” programmer, this statement bears no meaning. Saying that something is almost finished can mean anything from “it’s really finished” (rarely) to “needs big of debugging (see below)” to several weeks of work.

“I thought you meant that we need this”
“I didn’t understand/bother to look/care about/saw your specs.”

“Needs bit of debugging”
Expect at least 4 days of work.

“We cannot do that”
“I’ve just completed 3 weeks of work based on the specs you gave me and NOW you come here and say to do it differently. How freaking difficult it is to realize that changing something using rubber costs much, much less than changing finished code?”

“Okay, we could do that – but we need to refactor a lot”
“I still disagree with you”

“It’s like 15 minutes of work”
4 hours.

“I’ve refactored my code and now it’s really clean”
“I’ve learned new slang and want to impress you.” (But code will never be “really clean”)

“We’d need to do research that carefully first”
“Aww, that sucks. I can’t be arsed to code that feature.”

“We should have clear rules on how to indent our code”
“I’m ready to fight – anyone want to challenge my coding practises?” (Hint: try stay as far as possible from these situations. The fights will be ugly)

“That’s wrong way to do it”
“I’m more experienced than you and you should shut up since I know how things need to be done and if you don’t agree we’ll see at the indent-out-code arena.”

“This design pattern usage is really saving our time – thank god I took time to investigate this properly”
“I’m happy to be doing anything else than any real work. I could keep doing the perfect time-saver forever, if only I had time”.

(That’s it for now – you don’t have any more to add to the list?)

4 thoughts on “Programmer-To-Person Dictionary

  1. I had heard somewhere that for someone who takes computer programs very seriously, the entire life becomes a flip-flop; it’s either 1 or 0, nothing in between. So, words like ‘maybe’, ‘almost’,… fade out of vocabulary.

  2. “It’s almost finished” – I’ve been saying that for a few years now.

  3. Yeh, tricky beast.

    Sometimes it’s also hard for being a developer knowing that: “calendar time” can be different from “active working time”.

    Of course we can also start thinking what “done” means. Does it mean “programmer has done it”. Or perhaps “It’s been done & tested by the testers”, or perhaps “it’s now in the patch that can be downloaded”. :)

  4. Nice post.

    As a developer I always find it difficult to understand days counting :)

    when somebody says that something will happen “after 3 days”. Does that means today and 2 other days or today and 3 other days and wither or not the last day is counted.

    That can drive me crazy sometimes. It is really hard for developers to understand non-developers :)