97 Things Every Programmer Should Know

(Chris Devlin) #1

(^72) 97 Things Every Programmer Should Know


The Guru Myth ..................................


The Guru Myth ..................................


Ryan Brush


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 dif-
ferent 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, sys-
tems 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 require-
ments, and can read about the advantages and disadvantages of different strat-
egies. 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 because of years dedicated to learning and
refining thought processes. A “guru” is simply a smart person with relentless
curiosity.

Free download pdf