I somewhat disagree with the point that good programmers think about the problems 24/7. Even good programmers loose motivation if there is bad company culture or some other de-motivating factors. I find that true motivation and true interest for the project are very important in software development but so many companies neglect it.