The most important aspects of a great programmer are:
The ability to learn what users need.
The ability to learn how a how a system works.
The ability to learn the cause of a bug.
The ability to learn from mistakes.
And the ability to solve complex problems.
Domain specific knowledge has some limited value but flexibility of thinking is far more important.
Comments
The most important aspects of a great programmer are:
Domain specific knowledge has some limited value but flexibility of thinking is far more important.