This is something I’ve been wondering about for a long time. Programming is an activity that makes you face your own fallibility all the time. You write some code, compile it or run it, and then 80% of the time, it doesn’t work exactly the way you imagined. There’s an error message, or it just behaves incorrectly. Then you need to iterate on it and fix the issues until you get the desired result, and even then it’s subtly wrong, and causes an outage at 3am on Sunday.
I thought this experience would teach programmers to be the humblest people in the world.
I can’t believe how wrong I was. Programmers can be the most arrogant dickheads you will ever meet. Why is that?
If we knew how hard things were going to be (or how long they would take!), we wouldn't attempt the task. Being a bit deluded about how smart we are is helpful for this.
Plus, there is a lot of autism in IT which sometimes makes people seem like arrogant dickheads even if they aren't.