I was recently working on a project that was being developed by 3 different teams that were each located in different countries: one in the UK, one in Germany and one in India. Each team was working on distinct parts of the project so for the most part we were fairly self-contained, but there was a degree of overlap so every now and again there was a need to talk to someone from one of those teams.
Of significant relevance to this story was a particular member of the German team. Let’s call him Mr German. To date, I hadn’t conversed much with Mr German: only really to exchange pleasantries over video conference when we were the only ones who had turned up on time for a meeting.
Of course, I can’t go into any specific detail here so bear with me.
So one day I’m working on something and I get a ping on my messenger. It’s Mr German. He explains to me that he’s been stuck on an issue for 1.5 days that he has just learned was caused by some “careless array programming” on my part, because the last of 6 items that he’s trying to use doesn’t work.
These 6 items were nodes that were defined in an XML file, each one defining a test object with different properties. He had made some changes to the XML in order to test some new features and now the 6th item was resulting in an error. He had decided that the reason for this was because the application couldn’t handle 6 items and was experiencing some kind of out of bounds exception – even though all 6 worked fine before his modifications.
It seemed pretty obvious to me that he’d broken the 6th item so I asked if he could send me his XML file in order for me to proof it. He responded by re-iterating his hypothesis, so I suggested that it was unlikely that the application was at fault here and that it seemed to me that the XML was to blame.
Mr German: Please stop telling me this is not the error, we are wasting time. It IS the error. Thats [sic] what you think, but oyu [sic] are wrong
Me: OK great. Send your file please
While Mr German is emailing me his file (rather than using the file transfer feature that is built into the chat client we’re using), he continues:
Mr German: Why does someone like you always has [sic] such attitudes [sic] with someone like me [sic]
So by reasoning that the problem that he alone was seeing was caused by changes that he had personally made to his XML file, I was exhibiting an attitude problem.
Further messages from Mr German shed light on the reason for his apparent disdain for me – someone who was basically a total stranger. It turned out that Mr German viewed himself as a seasoned C expert who had “learned to avoid errors like this 20+ years ago“, and by extension I was some kind of rookie right out of kindergarten who should be at home playing with toys rather than costing people 1.5 days of bug-hunting with poorly-written applications. I’m 35.
So I’m sat there maintaining my professionalism and waiting patiently for his XML file. Mr German continues to big himself up:
Mr German: If you knew me a bit better, you see [sic] that I am able to hit the most unusual and unbelivable [sic] bugs one can think of.
Then the XML file arrives in my inbox. I open it up and that’s where the problem is. What a surprise!
Me: So… in this XML file, item #6’s title is “ASSET TYPE A” but the format attribute is “type_b”. If the item you’re referring to here is of type A then the format attribute needs to be “type_a” or else the player isn’t going to work
Mr German: ok got it