I've meet several people that, having gathered some years of experience in the software development field, tend to think that they already know "the best way" to do things.
People that has worked for 6 to 10 years, people that has obtained a certain requirements (at minimum working as an analyst-programmer, for example), people who say they are "experts in .NET"... *
People that may be good at their field or not, it is not important. It is a matter of the attitude.
That is not bad itself, because it is easy to live along with this people. You just hear them, say "yes" and learn from them. There's no need to judge if they are bad just for trying to be the center of attention.
The problem comes when those people don't listen to others. If you're an expert in something, be open to new points of view. You may learn something new, something to improve your way of doing a task, of coding an algorithm, a faster way, a more simple solution...
I think that being able to listen to what others say to us is as important as our skills. We the human beings spend all our lives learning, so why not hearing what we're told?
If it's incorrect, we can correct our speaker.
If it's worse than our solution, we can teach them to do it our better way.
And if it's better than our approach, don't feel attacked as if it's something personal.
I learn new things from my colleagues each week. And not only how to code better optimized SQL Server stored procedures, I learn how to develop a back-office, I learn how to manipulate large amounts of data, I learn what is a POI (Point Of Interest in cartography)...
I have this blog (and another two more) and try to post at least once a week. I've been blogging for four years. But I read a lot of RSS feeds, I don't feel like an expert "in blogging".
Of those 200+ feeds, around 75% are development related . And I still feel like I need 36 hour days to read tons of books, articles and create experiments and prototypes.
Learning is vital to becoming a better developer, a better analyst, or just a better person.
* I don't like the word expert. For me is like being a guru. I've been working for four years with .NET and I only feel I have a huge amount of things to learn. .NET, as Java, is a huge world and I hear too often the words "he's an expert in this field". Quite few people are experts in a field, and it takes a long time and hard work, not just a few years developing in a specific language or for great customers.
Update: I must point to this Coding Horror's post about being an expert. Comes to a similar conclusion: Beware of those who mark themselves as experts.
Tags: Soft Skills