Emphatically: NO. I'm definitely not the best developer in the world, I've met 18 year old kids that could literally run rings around me.
But being 'best' in anything is not the criterium. Only one person can be 'best' at anything. But to put the whole workload of the world on the shoulders of that 'best' person is not feasible. So everybody contributes to their ability. And we try to learn as much as we can from the best.
As someone who's been at the receiving end of attempted teaching sessions (which occured because the self-appointed teachers overestimated their own knowledge, underestimated mine and never bothered finding out what I knew), I can only say that the best programmers do not try to teach, but will gladly share what they know when asked.
It's rare in my experience that anyone believes they really are the best developer ever. Generally programmers seem to be a pretty humble bunch, I think. Perhaps because the nature of our work is such that, in a sense, bugs are there because of our own personal failings and mistakes. We deal with that all day, every day. How could anyone, when faced with such an ever-present reminder of their own deficiencies, honestly think of themselves as the best?
(Although in thinking about this, perhaps maintenance programmers are most prone to this as their task is largely to fix bugs in other people's code - not their own. It'd be easier to fall into that trap, I imagine.)
I suspect that most "I'm the best ever" talk is just a game. A form of "blowing off steam." All the developers I know do that at least some of the time. Everyone knows better, though. It's all tongue in cheek stuff and just for fun. Often it ends after a few rounds of ludicrous build up to the point where the entire universe itself would have imploded if it wasn't for me... :)
My favorite Slashdot comment on this subject matter was:
"Every developer wants to think of themselves like House, M.D. where if they left the company it would fall apart. In reality, everyone is replaceable and if you got hit by a bus today in three months the company will have completely recovered."
21 comments
[ 2.8 ms ] story [ 19.0 ms ] threadI don't have to be.
But I do have to be the best developer on what I'm working on. That's what I strive for. I want to be proud of everything I do.
There is a lot of meaning in there, for one, to be truly humble you first have to ascend to greatness.
So for the majority of us ordinary mortals it's fine to be proud of our achievements. But to descend into arrogance is one step too far.
But being 'best' in anything is not the criterium. Only one person can be 'best' at anything. But to put the whole workload of the world on the shoulders of that 'best' person is not feasible. So everybody contributes to their ability. And we try to learn as much as we can from the best.
So how about: "And we try to learn as much as we can from the best and from each other." ?
(cough...)
(Although in thinking about this, perhaps maintenance programmers are most prone to this as their task is largely to fix bugs in other people's code - not their own. It'd be easier to fall into that trap, I imagine.)
I suspect that most "I'm the best ever" talk is just a game. A form of "blowing off steam." All the developers I know do that at least some of the time. Everyone knows better, though. It's all tongue in cheek stuff and just for fun. Often it ends after a few rounds of ludicrous build up to the point where the entire universe itself would have imploded if it wasn't for me... :)
What definition of "best" are we using?
"Every developer wants to think of themselves like House, M.D. where if they left the company it would fall apart. In reality, everyone is replaceable and if you got hit by a bus today in three months the company will have completely recovered."