What is the difference between a programmer, a good programmer and a great programmer?
What separates a good programmer from a bad programmer?