Programmers Might as Well be Evil
I decided to work at the local coffee shop this morning as my father-in-law is visiting and his bedroom is my office while he's here. I'm ordering my bottomless cup of coffee and trying really hard to ignore the pecan sandies that are calling my name when the young lady taking my order started peering at the Apple iPad they use as a sales terminal in a really strange fashion. She notices me noticing her expression and explains that their software was updated over the weekend and now it was harder to use. She was particularly upset about the smaller buttons on the screen.
I felt obliged to apologize on behalf of every computer programmer in the entire world for the difficulties that this update brought. I joked that we're all evil and we like making people's lives more difficult. And then it occurred to me that just based upon the evidence my server had available to her, programmers might as well be evil. We push updates that pass (hopefully) all manner of internal reviews including User Experience, but then when an actual user uses it, it is found to be worse.
Let me say that again:
"based upon the evidence my server had available to her, programmers might as well be evil."
I am thoroughly convinced that every programmer should be forced to use the software they write in real life. Uncle Bob believes that they should be forced to support anything they write, but I think my preference is actually a superset of his belief. I have been fortunate that the majority of the systems I have been involved with writing have had local users and I've been able to use it and directly observe it being used. This has brought about post-install changes because of end user observations, but it's always worth it for happy smiling users!
At a previous instance of Benevolent Employer, I ended up using one of the larger systems that I have been a technical lead for, several times in production. A couple of changes were made after the first time and then after that, the end users and myself were happy with it. About ten years after I left the company I spoke with one of the supervisors for the system and asked how it was doing and they replied that it was still working well. I asked who was supporting it as most of the programmers on the project were no longer with the company. They said that they didn't know, but that it never broke so no one worried about that.
So, programmers of the world, please actually use your product or at the bare minimum watch real users use it on a Monday morning after an update! I suspect that you'll receive quite an education.