Through countless hallways in countless software shops you can hear the words, “Who wrote this shit? This is crap. What an idiot.”
Over the past year I’ve been working on projects that were inherited from other shops and any passerby could hear such phrases coming from my office as well.
Recently a software project that I built went through the heaviest system load it’s ever faced at a relatively large event for our city. The event was crowded, overloading the capacity of the venue and some portions of the system.
Soon, the frustration grew and the Twitter flood of complaints started appearing. People were mostly just generally frustrated/excited/disappointed about the whole situation but I spotted one particular tweet from a local software developer wondering who wrote this shit software.
These words stung and I immediately felt the urge to step up and defend myself, potentially starting a flamewar. Who was this guy to judge my system? He couldn’t possibly know what the causes of the delays were! He couldn’t possibly know the legal, physical and financial constraints the system was under!
What a jerk!
Before I could carefully craft my 140 character pride-filled response I was suddenly struck by the realization that I have asked nearly the same damning question about many other products and applications in the past.
Somehow, in my mind, every piece of software I write is lovingly crafted using the best knowledge and technique that I have at the time. I care about every line that I write and take great pride in my work. On the other hand, that other guy with his “shitty” system is a negligent fool who clearly doesn’t know what he is doing and should leave software development to the people that know better. Everyone is stupid except me and the people that I choose to look up to.
Stop being Arrogant
Although some people are bad at what they do or may simply not care, I have to assume that the majority of people do care and want to do a good job. People generally care about the work that they do and want to do a good job.
I may not like what they’ve built or how they’ve built it but I need to take the default assumption that they did the best that they could with the knowledge and resources that they had. From time to time this assumption will be wrong but I’d rather be wrong assuming the best of people.
Wouldn’t it be better if we spent our time trying to teach and share our experience with those around us rather than cut down our peers to make ourselves feel superior? What if instead of spouting angry ill-informed comments on the internet we took the time to simply tell those people about our experiences and let them know what we think could be better? It’s easy to spout off how frustrated we are and unfair the world is but what could we accomplish if we spent that energy thinking about what could actually be changed to improve the situation?
Thank you, internet stranger. You’ve taught me a valuable lesson and I’ve got a framed print of your tweet to help me never forget.