I’ve been in software development for over 30 years. I’ve done everything from requirements engineering through software design and coding to integration testing. Over the years, I’ve started to notice that developers (including myself as a prime example, over and over and over again) often make the same types of mistakes, regardless of the type of project, language/framework/toolchain, or development paradigm.
About five years ago, I started looking into some of the ‘soft skills’ that affect what we do every day but aren’t necessarily taught in a collegiate CS program or coding bootcamp. The one that caught my eye the most was the effects of cognitive bias on rational thought. It was around this time that I was asked to give a 10-minute presentation on some aspect of software development as part of a lunch-and-learn series at my employer. The ensuing conversation went something like this:
Me: “OK, I’ll talk about cognitive bias as it pertains to software development.”
Organizer: “Um… what?”
Me: “‘Cognitive bias’ is a general term covering failures in logical thinking due to the fact that we humans are squishy meatbags whose lizard brains still wield more control over us than should be the case.”
Since that time, I’ve been learning more about cognitive bias and how it affects my profession. I’ve given probably a dozen presentations on the subject, tailored for different audiences both inside my company (who, btw, have asked that I not name them) and for broader audiences.
Not to put too fine a point on it, but here are a couple of relevant quotes from one of my favorite articles on software development (which is hilarious… and terrifying):
The human brain isn’t particularly good at basic logic and now there’s a whole career in doing nothing but really, really complex logic.
All programmers are forcing their brains to do things brains were never meant to do in a situation they can never make better, ten to fifteen hours a day, five to seven days a week, and every one of them is slowly going mad.
Would it be grandiose of me to say I hope to keep at least one developer from going mad? Yep, since I just read that back and sprained my eye-rolling muscles. Maybe I can do something to help that “situation they can never make better.” At least it’ll be fun to try.