That guy smiling at you is my Dad, David McEachen. He taught English Literature to a surprisingly large portion of the teenagers growing up in Santa Barbara from 1965 to 2004.
I’ll do the math for you—that’s 39 years where most of your day is spent with teenagers.
He was a brave man.
To be fair, he told us many, many times that he loved his job, and that he couldn’t imagine doing anything differently. But still. Teenagers. And walking them through wretched hives of arcane convolutions and labyrinthine mind-twisters that could only be described as shakespearean. Because, Shakespeare.
His class motto:
If Something is Odd, Inappropriate, Confusing, or Boring, it is Probably Important.
Your biases don’t always help #
Our brains are excellent at discerning the patterns that we are expecting. When we read or see or hear something that doesn’t quite fit with our expectations, however, our brains discount that idea, or perception, or thought. (And before you press X to doubt, this is typically characterized as belief bias, or an application of confirmation bias to reduce cognitive dissonance).
We toss aside the unexpected as strange, or weird, and subsequently disregardable. In other words, this heuristic twists the unexpected into being odd or confusing. Or so boring that it’s ignorable.
This bias can hamstring understanding English Literature, or civil discourse, or for software engineers that need to engineer their softwares.
For the students in my Dad’s classes, the surprising plot twists, the heroine’s shocking act that was out of character, or any time King Lear opened his mouth—those were all wells of oddness and founts of confusion and simultaneously some of the most critical components to study and understand.
So: why? #
My Dad’s solution? He regularly asked his students, “Why?” And then would encourage them to stop, think, and share.
“The author had led us here, and could easily have played out what we expected. So, why didn’t they?”
The resulting discussions were pivotal to understanding.
Thinking about the “why” helps you break through your WTF-block and actually understand what you’re studying.
Does this apply to software? #
If you’re a software engineer, realize your reptilian brain is trying to make you discount or ignore the odd and inappropriate bits while you read and review code.
When writing code, work towards minimizing the WTFs per minute uttered by the Engineers of Tomorrow that are going to be fixing the bug in your code at 3am.
Future-proof your code by explaining the “why” #
Most often, it’s not being able to discern the why that makes code odd, inappropriate, or confusing.
There are uncountable blog posts exhaustively describing some comment religion dogma, but really, your code is for the future.
Hopefully your code satisfies some business or social need. And hopefully it won’t be so cryptic that it can be edited in the future to retain a modicum of relevance.
Intuitive to the Casual Observer? #
When you suspect a module won’t be Intuitive to the Casual Observer, add a comment explaining why you’re doing something the way you’re doing it. Link to other documentation, related modules, conversations, or design documents. Everything helps.
Trust that the Engineers of Tomorrow can read your code: they can answer the how for themselves.
The why slips away into oblivion all too easily. Even when you wrote it.
Fear the temptation to ignore #
As you develop and debug, you’ll encounter what might be a defect, or as-yet undiscovered feature. Your reflex reaction may be to discount it as confusing or boring. Admit it: you’ve said to yourself, more than once, “huh, that broke? That’s odd, I bet that couldn’t possibly happen again” (and then you force-refresh the page, or you bounce your server).
Trust in the Cosmic Power of Entropy. It’s not only possible it’ll break again, it’s likely.
Also trust that if you can’t replicate an error, it’s nigh impossible to understand it.
And if your don’t understand an error, you can’t fix it.
And entropy wins again.
TL;DR: WTFs will bite you. #
Be wary when you think something is odd or confusing. Keep in mind how our brains may not always be wired to help us succeed. And avoid them in the future by explaining the “why” while you still remember it.