The Way of the Programmer

There are many levels to a computer program: From the logical / theoretical meaning of every top-level line, through quite a few layers of abstraction, down to the CPU commands executed, including the tools (Compiler, Linker, IDE...) used and the future readers of the code.

A good programmer should be able to understand each and every of these levels, and ignore those that are not relevant to the problem at hand.

A great programmer must be able to understand all of these layers, at the same time.