What are some advanced concepts in programming that most average programmers have never heard of? by Joe McCracken
Answer by Joe McCracken:
To me, the ability that differentiates the brilliant programmers from the pack, is the ability to mentally visualize their art. That is, to accurately see, in the engineers mind, the working mechanism operating in synchronization with its external interfaces.
All the best training, models, techniques and concepts are virtually worthless if you cannot conceptualize the entirety of your project and how it interacts with the outside world.
For engineers that own this ability, it can provide the benefit of Zen like coding sessions, where the engineer can become almost one with the computer, oblivious to their immediate surroundings, and create perfect, error free code. It's a magical time that I treasured, as I invariably created my best work. If you have been there, you will know exactly what I mean.
I've seen so many perfectly designed and coded programs that were worthless because they failed to be useable. It's so important that you don't confuse the ability to code, with the ability to solve a real world problem. Unfortunately, hiring managers often make this critical mistake.