I couldn’t resist checking out the Nerd Handbook on Rands in Repose this morning. If you’re a nerd, or have a nerd in your life, it’s a funny article. If you don’t have a nerd in your life, you can just imagine me instead. (Case in point: I began reading Rands’ blog after reading his essay in Joel on Software’s Best Software Writing I. That’s nerdy.)
Rands asserts that nerds have an efficient relevancy engine inside their heads. This relevancy engine can be extremely annoying, since every item of information given to a nerd has to pass an “Is it interesting?” test before it is remembered or acted upon. And as we all know, a nerd’s definition of interesting can be quite different than the rest of humanity.
While many nerds suffer from having an extreme form of this relevancy filter, I think all of us have one. Human brains are wired to be pattern-matching machines. It’s what lets us recognize faces from a block away, a song from a handful of notes, or the darn alarm clock by fumbling in the dark. We can even see patterns where none exist, which can cause us to believe in things like the abominable snowman or Nessie. We’re naturally good at separating the signal from the noise.
Unfortunately for anyone that works with computers, this is precisely not the way that computers think. When people first built computers, they built them to compute. Performing complex calculations is a tedious and error-prone task, so we created a tool that was very good at it. This allowed scientists, engineers and mathematicians to get on with the more interesting parts of their work while letting the computer crunch the numbers.
Despite all the fancy bells and whistles that have been added over the years, the heart of a computer is still its central processing unit (CPU). The CPU is really nothing more than a souped-up pocket calculator. It expects detailed instructions about what to do, and given the right instructions and accurate data will produce a correct result.
(For some reason, I have this Kraftwerk song playing in my head right now….)
As I mentioned in a previous post about emergence, one of the main problems with enterprise software today is that it is built for the way computers think, not for the way that people think. Most enterprise tools assume that the user can articulate a detailed series of steps to follow and provide good data. But today’s knowledge worker is not merely crunching numbers or following standard operating procedures. In fact, we’ve engineered most of the raw data processing out of people’s jobs, shifting it to the computers that do it so well.
So knowledge workers need tools that help them do the kinds of work that they do today: research, analysis, synthesis, and composition. These tasks are all relational in nature. They require us to do things we’re naturally good at: find patterns, weigh evidence, determine relevance and execute judgment. And that’s where the problem lies when it comes to enterprise software. Computers just weren’t designed to help with these sorts of tasks.
One example: Recent research has shown that bees are good at facial recognition, even when the face is partially obscured. Computers struggle with this problem; it takes powerful, modern computing hardware and advanced software to approximate the accuracy of a tiny insect. In fact, it’s enough of a struggle that it made the list of Grand Challenges. The reason? Pattern matching and number crunching are fundamentally different tasks. Just as it’s hard for humans to repeatedly execute a complex series of calculations, it’s difficult for computers to draw inferences and determine relevance.
This situation leads to a Catch-22 in enterprise software. Since knowledge workers intuitively grasp patterns and relations, they often have trouble articulating their thought process or decision model. But since computers are best at executing instructions, knowledge workers are forced to lay everything out in meticulous detail. The end result is that both the software and the employee wind up doing tasks that they aren’t very good at. Is it any wonder people find working with enterprise software frustrating?
To fix the problem, we have to make software that either thinks the way we do or that can leverage the power of our power of our wetware — our relational, pattern-matching brains. Would your computer associate enterprise software with experimental ’70s synth-rock? No, but I’d bet I’m not the first person to do so.
(Yeah, the other one was probably also a nerd. 🙂 )