Why do people hate Software Developers?
Image by BasInfante at Deviant Art http://basinfante.deviantart.com/art/Heath-Ledger-s-The-Joker-660909268 CC-BY-NC-ND 3.0

Why do people hate Software Developers?

Normal people hate software developers. Really Really hate them. If curses worked, most software developer would be burnt to a crisp. The developers however are blissfully unaware of this hate.

How is this possible?

Let me tell you two stories.

The first one happened to me recently. I enrolled in Aadhar, as have most Indians. Aadhar is famous as the worlds largest bio-metric database and it’s being used extensively by the Government of India for various reasons.

I shifted house recently and wanted to change my address in Aadhar. I went to the official website to update my address. The first step was an OTP (One Time Password) sent to my mobile phone. Unfortunately, that didn’t work, I was not getting the OTP on my mobile. I was very sure that my mobile number was in the database, my mobile number was correctly printed on my Aadhar card. 

So, I called the official call centre. I told the person who replied about my problem and asked him to verify if my mobile number was linked to my Aadhar card. If you don’t know, the Aadhar number is a "Unique Identification Number". Naturally, I expected him to ask me for my Aadhar number. Instead, he asked me for my enrollment number and date/time of enrollment. I enrolled in Aadhar five years back and got a little slip of paper that had these details. I used it back then to check the status of the Aadhar card. Once I got my Aadhar I threw it out. I re-checked, "You can’t find this information using the Aadhar number?" "No". Grrrrr. I asked him for alternatives. He said there is a page where I can check if my e-mail and phone number have been linked correctly.

"Hmm, Let me try that", I thought. Guess what happened? To check if your mobile number is correctly linked, the website needs to send an OTP to your mobile number.

I was angry. I was angry with the software developer who designed such a stupid system. Does he know how angry I am? No, he does not. The call centre executive shields him from my burning rage.

Let me tell you the other story.

My friend Harsha wanted some tests done for his mother and took her to a hospital. The hospital created an id card and gave it to her. She underwent a lot of tests. Later Harsha noticed they had entered the date of birth incorrectly. The ID card said his mother was a five year old :-) He went back and tried to get it changed. He was told, "Sorry sir, the system doesn’t allow it". Grrrrr. So he asked them to create a new card. “Sir, if you create a new card, all the test results linked to the old card and the history of doctors comments will be lost”

Harsha being a software developer (a very good one I might add) was furious with the person who developed the hospital software. Does that developer know the rage in Harsha's heart. No, he doesn't. He is shielded by the front office staff in the hospital.

I conduct training sessions to help developers improve productivity and quality. Here are two things I teach them to reduce the rage. 

  1. Always visualize the software being used, with the word "I" not "User". When designing the call center software, say "I will give the executive my enrollment number, and date time of enrollment". Don't say "The user will give the executive his enrollment number, and date time of enrollment". This small change makes them realize when their design is getting difficult to use.
  2. The second is always consider “missing” and “mistake”. What if the information I need is missing or not available. Is there an alternative? What if I make a mistake. How can I correct it?

That's how to reduce the burning rage. They also need motivation to do this every time.

Why should they keep doing this? So I tell them, "Whenever you sit down to review your design, visualize something first"

“Imagine a homicidal psychopath who knows where you live is going to use your software.”

That's a paraphrase of a Kathy Sierra quote - "Code as if the next guy to maintain your code is a homicidal maniac who knows where you live."

I wrote a followup article called Software Developer = Factory Worker?


I appreciate your suggestions but developers do what they are asked to do and hardly have much freedom to change the business mandates.I have seen government websites that hardly come up but if I were the developer it's quite possible that my hands are tied. Don't you think the problem is with the business channel here? If there was an error in medical billing that caused loss to hospital would the developer be shielded for long?

Commented and deleted as it is not worth it.

In my personal experience, most software developers understand user's pains better than their product developers, and actually do point out such flaws.. but usually they dont have the mandate to specify or change business requirements. Many a times, business/product are too sure of their own expertise in the domain and fail to appreciate such concerns.

Really? Do people hate 'Developers'? Being a developer and working with many of them 18 hrs a day everyday for last 20 years I havent met anyone who hates developers. But for your note, its largely true that systems designed in India by Indian developers are mediocres. Reason is not developers but the amount of shortcuts business leaders want to take and the way they cut corners in implementing systems. Creating good working system is not just development. I have HDFC, Axis bank account and I can not manage it well being in US. Their systems are horrible. Same with Naukri - they are one of the top job site still the whole application has ridiculous interface. The news sites like TOI, FP, DNA have large readership but have no policy for what ads to show and have malwares. If Developers are asked to fix, they can, but some cheap greedy business leaders make wrong short term decisions and thats why you can blame developers.

What's missing here is the synthesis of programming skill and deep context in the business problem domain in one skull. A service company develops a software and expects deep business context (including design) from customer. Here in Adhaar case it's government. Not surprised at all.

To view or add a comment, sign in

More articles by S Govindkrishna

  • Habits for Success

    What do you think? Agree / Disagree / Trim / Expand Comment

    4 Comments
  • Why "The Goal" is such a great book

    "The Goal" by Eliyahu Goldratt was a best-seller in the 80's and 90's. It is a great book for multiple reasons.

  • Org Culture - A Primer

    Imagine you are trying to understand "org culture" that all leaders and HR people keep talking about. You Google it and…

    1 Comment
  • Software Developer = Factory Worker?

    I wrote an article recently called Why do people hate Software Developers? Do read that and some of the comments before…

    7 Comments
  • Technical Debt - Die quickly or a slow painful death

    All software products face this choice. Martin Fowler explains it as follows "You have a piece of functionality that…

    19 Comments
  • People Friendly Processes

    Here is a simple puzzle. There are four cards on a table.

    4 Comments

Others also viewed

Explore content categories