A long time ago, in a company far far away…I was an early developer at a non-tech company supporting internal business systems.
I loved being heads down…cranking out code and features. It was a flow that I tried to stay in as much as possible, and everything else was viewed as a “distraction” or waste.
I was developing a custom intranet web app, and supporting a very diverse set of users, and a non-zero percentage of them were non-technical.
I had one particular user who was vocal when things came up. In one particular instance, there was an issue that she raised up that I was absolutely confident was “User Error” (PEBCAK was my term of choice to talk down on others who didn’t understand the elegance of systems I was building).
After multiple rapid-fire back-and-forth emails to try and resolve this issue as quickly as possible and get back to “cranking out L33T code”, I took a screenshot of the screen that she was referring to, imported it into Microsoft Paint, and using a bright red pencil, circled the part of the page that had the feature she needed, and sent my last email to her with no text. Just the image. It looked like a six-year-old had scribbled on the page to highlight the area. A bit like this…
A few minutes later, I had my “oh shit” realization. This wasn’t user error. It was a legit bug that I wasn’t reproducing locally. I can remember sinking down into my cubicle in shame realizing that this was 100% my fault. Fixing the bug took minutes, and I honestly can’t remember if I ever responded back to that member owning up to my mistake.
Talk about passive-aggressive. I could have picked up the phone. I could have walked over to her office to observe the behavior on her computer and not just assume it “Works for me”!
Although I’m not proud of my behavior in that instance, I am grateful for the experience; it taught me a great lesson in humility. Passing unit tests doesn’t mean that there aren’t bugs. It just means that I may not have caught a behavior. I believe it made me a better developer to be much more responsive to my customers’ feedback, and much more skeptical that I “got it right”.