“Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so.”
“Experience is simply the name we give our mistakes.”
I have posted about the topic of experience before. The catch 22 of employers need for experience, but reluctance to take the time to give someone the opportunity to acquire it, becomes more painful when the economy suffers and new graduates are trying to join the work force. I remember being extremely lucky when I graduated college in 1999; after Y2K it seemed like people had a hard time getting into the IT world because of people realizing that the world did not end… that and not long after the dot com bubble burst.
One of the lessons that I now call experience, is silence. I love knowledge and discussion, I read as much as I can and I love watching educational TV shows. I can probably comment on most topics, and when it comes to martial arts or computers you can hardly shut me up. I now know how annoying I must have been when I would have something to say about everything. I know that unless I have some deep knowledge of the subject, “I don’t know” is always a better answer.
Knowing enough to be dangerous is something I have found to be very true in my field. Practical knowledge cannot be replaced by knowing a book from cover to cover. The smartest programmers I have met seem to always forget the people that they are writing the software for. When you write software with yourself in mind, you become very frustrated when people do not do what you think they are supposed to do. Some of the worse cases I have seen get very upset with users for not using their software right. It seems these people don’t ever get past the sixteen year old mentality of “I am always right.”
Gathering experience is an expensive process for companies. Many people think that it is about just paying your dues when you enter a field, but it goes beyond that. Listening to your users, or just having them in mind when you code, is something you learn as you fail implementing a new feature. However some people might be in the field for years and never learn that simple lesson.
This is one of the lessons that I have seen most people refuse to learn or be told. Many programmers I have met dig their heels in the ground and refuse to make their application more user friendly. Some even go as far as considering their job done as soon they think something works and not waiting until the users have truly accepted things.
Do you have any examples of people not learning from experience, closing their eyes and refusing to learn?