How to evaluate a programmer?
Software engineering is not much different from any other discipline of engineering. You need to create designs that stand the test of time and performs well in conditions to which it is designed to.
Sometimes your design need to function well in conditions it is not designed for. Or you will end up killing everyone on-board ruining your lunar landing.
Software can kill people. Sooner or later, software will be making people too. You can’t afford to commit mistakes.
Programmers are important people pushing the limits of the world we live in.
Read through this effort by Micheal O. Church to classify programmers.
This can be a tool handy for managers trying hard to create a fine working environment in which people under him can create and innovate for peace.
Disclaimer: I find Micheal’s classification interesting, but in no way endorse or suggest it as a reference to deploy it in your work environment.