I’m actually working on an article on this very topic. You are very right about this. It’s something every programmer has to be aware of. It’s a combined effort of managers, organizations, programmers and educators to change the coding life of a programmer. A programmer is a human being. Doing something you love to get paid is still a job. Creativity is often unleashed when we go out and have experiences. That is often neglected in pursuit of analytical skills in programming.