They went on saying that they never found themselves think about these when doing their jobs and yet they could still get their jobs done and even got promoted to the senior position. Some even went as far as saying that things like design patterns were impractical for real-world projects. Reasons like such went on.
Most of these folks have many years of experience in software development, but they have the experience of doing the same things over and over again. Besides, instead of trying explore many technological possibilities to pick the most suitable way of accomplishing things, they only learn enough to get the job done. These developers are confused between getting the software built and getting the software built the right way and yet they think they are perfect examples of those who learn on the job the right way - which can’t be more far from the truth.
The sign of this type is that their knowledge and skills are no broader than what they have applied in their past projects and no deeper than what barely necessary to finish the tasks assigned (and they usually refer to anything beyond that as “theoretical” or “impractical”)
http://www.buunguyen.net/blog/the-wrong-attitude-of-learning-on-the-job.html