Programmer Competency Matrix

This self-assessment matrix covers the disciplines of Computer Science, Software Engineering, Programming (as well as Experience and Knowledge) and is essential read for any aspiring polyglot:

Programmer Competency Matrix

The Level 3 qualifications range from demanding:

Understands the entire programming stack, hardware (CPU + Memory + Cache + Interrupts + microcode), binary code, assembly, static and dynamic linking, compilation, interpretation, JIT compilation, garbage collection, heap, stack, memory addressing...

...to the obsessive:

File has license header, summary, well commented, consistent white space usage. The file should look beautiful.

There are also some good book recommendations:

Structure and Interpretation of Computer Programs, Concepts Techniques, Models of Computer Programming, Art of Computer Programming, Database systems , by C. J Date, Thinking Forth, Little Schemer