Chapter 36. The Guru Myth

ANYONE WHO HAS WORKED IN SOFTWARE LONG ENOUGH has heard questions like this:
I’m getting exception XYZ. Do you know what the problem is?
Those asking the question rarely bother to include stack traces, error logs, or any context leading to the problem. They seem to think you operate on a different plane, that solutions appear to you without analysis based on evidence. They think you are a guru.
We expect such questions from those unfamiliar with software; to them, systems can seem almost magical. What worries me is seeing this in the software community. Similar questions arise in program design, such as “I’m building inventory management. Should I use optimistic locking?” Ironically, people asking the question are often better equipped to answer it than the question’s recipient. The questioners presumably know the context, know the requirements, and can read about the advantages and disadvantages of different strategies. Yet they expect you to give an intelligent answer without context. They expect magic.
It’s time for the software industry to dispel this guru myth. “Gurus” are human. They apply logic and systematically analyze problems like the rest of us. They tap into mental shortcuts and intuition. Consider the best programmer you’ve ever met: at one point, that person knew less about software than you do now. If someone seems like a guru, it’s ...