It’s not my fault your code is wrong

Northern Ireland is currently suffering a massive skills gap. Every major IT employer in Northern Ireland is crying out for more skilled personnel. Some of them are wanting graduates, others are just wanting programmers who know what they are doing. That’s not to say we don’t have a lot of programmers, but we have very … Continue reading “It’s not my fault your code is wrong”

Northern Ireland is currently suffering a massive skills gap. Every major IT employer in Northern Ireland is crying out for more skilled personnel. Some of them are wanting graduates, others are just wanting programmers who know what they are doing.

That’s not to say we don’t have a lot of programmers, but we have very few great programmers. And we spend far too much time putting students through degrees where they can have their enthusiasm for life removed, module by module. Our programmers lack important skills – social skills, management skills and business skills. More importantly, for a global economy, customer skills.

Earlier this month, when questioning why an error occurred in some software, the developer first accused me of doing something stupid and when I replied this was not the case, a co-developer suggested another stupid thing. There seemed to be some sort of arrogant assumption that I, having been on the Internet for 20 years, would have clicked buttons randomly while trying to submit a form. I resented the implication because the problem was undoubtedly their code. But a blind-spot in their ability to deal with a customer left me feeling annoyed, under-serviced and resentful of the entire exchange. Add to that my general lack of satisfaction with customer-unfriendly solutions.

So, for the benefit of customers everywhere, keep in mind that the customer might be right, that they might not be idiots and that, just maybe, your code is wrong.

0 thoughts on “It’s not my fault your code is wrong”

  1. This is something that I see far too often. It’s something I’ve been guilty of in the past myself, assumption that the user has done something wrong is an easy bad habit to fall into.

    Fortunately I’ve identified and learned from. Instead of voicing these thoughts I’ve instead internalised them, and created a process of which this thought is one part of the process.

    I don’t think everyone realises that shifting the blame to a third party, like the user, results in a poorer quality of work. If something unexpected happens in something you’ve coded then it’s the result of your code, not the user that did something unexpected.

    More people need to learn this. You can’t improve if you don’t accept that sometimes you can make mistakes.

  2. Its almost like we need some kind of informal space where the passionate and active fraction of the dev-in-training community can express their creativity, potentially making things in this space… Making in Space… a… Maker…Space…

    😀

  3. Well, that’s because companies don’t do QA right when they do QA at all. They look at each leaf for quality, and ignore the fact they’re building an airplane and who cares about leaves?

    Seriously, I had so many people tell me there were no UI problems in Lotus Notes because it had passed thousands of tests correctly.

    What companies need, to be blunt, is an asshole. Someone who is sanctioned to say “That’s bad”, “That’s a stupid way to do it”, “do you not know any non-programmers?”. Seriously, someone whose job it is to do their best to shred a design, with lots of details on said shredding.

    Then the companies have to listen and act. Which is the other sticking point.

  4. John,

    In other words, you need a Steve Jobs. But he only got away with it because he was the boss, and even then that was only after they fired him once and repented at their leisure.

  5. @AndrewG – you don’t need a Steve, but there’s a reason that Steve gave Jonny Ive such power. You have to have someone with taste at the top. And @John – being an asshole isn’t necessary though individuals who have their work shredded may call the individual an asshole, the problem only arises when individuals feel their work is beyond criticism but their work is not beyond criticism.

    And, to be fair, it’s not just developer arrogance at fault here. Designers are just as bad. Which is why we end up with endless iterations of the same design. (Hmm, lets use a photo and some text and place all of the text on a primary colour background overlaid on the photo)

  6. @David – The kernel of the issue is the assumption that the user did something odd.

    When I was doing tech support, I spent a lot of time explaining to end users (as in, non-programmers, computer noobs, people who type URLs into search boxes) that “when a problem occurs, it’s not really your fault. Software isn’t good enough yet.”

    Of course, when the end user is not a noob…and has tested the problem….and recognises symptoms…and you still assume he’s done something stupid, then you’re on another planet entirely.

  7. As a QA professional, I see this all the time! Some, not all, but some developers just flat refuse to accept that they got it wrong. Very rarely, I get the phrase “You’re right, my bad, i’ll sort that out” in my inbox, more often or not its a myriad of confusing phrases, mostly ending with “…so I think it’s expected behaviour”

    @John C. Welch – I am that asshole, in fact i’m one of six assholes, our method involves getting you set in your position of how you think it should work, before presenting a long list of reasons why you’re wrong. No one likes us, except the client managers, and the clients of course.

Leave a Reply