Are You The Best Developer In The World?

HumbleThere is a lot to be said for being humble. As individuals we tend to admire those who are humble, the self-effacing celebrity, the quiet monk, these are the kinds of people we look up to. We are all taught as kids that being humble is a good thing and we must all aspire to it. As a society, however we don’t really reward humbleness. Recognition doesn’t come to those who quietly work hard, recognition comes to those who apply for it and can then prove their greatness. The software development world is no different, we aspire to work with stars (it’s human nature), we want to associate with those we consider great. Nobody wants to work with quiet Joe Programmer, possibly because noone knows how awesome young Joe really is. Yes, it’s a bit of a dilemma.

So should you, as a developer, maintain a humble attitude or is self promotion the way to go? Let me ask you a question. Have you ever thought that you were the best developer in the world? Perhaps after pulling an all-nighter to finish working on your latest, greatest idea, or maybe after solving that weird bug that the whole team has been trying to figure out for the last three days. You know the feeling you get, that quiet satisfaction, that inner glow after you realize that you may have just found it, and while basking in that glow you might just entertain a though:

“Man, I have some 1337 (that’s ‘elite’ for those who don’t know) skillzzz!”,

but of course as soon as you think that you realize how completely ludicrous that sounds. And then, to compensate, you shrug off the praises of your co-workers and feel a little embarrassed to be getting so much attention,

“It was a team effort”,

you say, I am just your average Joe Programmer; no big deal.

While humbleness is admirable, I am a big believer in balance in all things. I am perhaps not the humblest person in the world (yeah, I can hear those who know me laughing out loud :)), but I try to be aware of that part of my nature and keep it in check, but at the same time I am careful not to let it go too far the other way. I am well aware that I am not the greatest developer in the world. I’ve known and worked with plenty of people who were better, but that doesn’t mean that I don’t value the skills that I do have. And that’s the crux of it, no matter what societal pressures or your own nature might tell you, there is nothing wrong with having a healthy sense of self-worth.

You need to walk the middle ground. There is no doubt that any non-trivial software project these days will be a team effort and there is nothing wrong with giving credit to the whole team for the successes that the project might have. But, at the same time, you need to remember that you and every other individual are part of that team. If you, or someone else, does something great then there is nothing wrong with acknowledging it. Learn to give and take praise graciously, it is a very useful skill to have. Don’t devalue your own work, when others acknowledge it, by discounting the efforts you put into it. Being humble is easy, it comes naturally to most of us, and being a self-promoter works (after all, if you put yourself out there enough, someone is bound to trip over you at the very least :)). But, there is no need to jump to either extreme, find a healthy balance, you will be mentally and emotionally better off for it.

Don’t get me wrong though, you still need to keep your feet planted firmly on the ground. Remember that Socrates quote – “I know nothing except the fact of my ignorance” – well, that doesn’t mean that you actually know nothing (and it is also not nonsense, regardless of whether you have an IQ of 268 or not). What it does mean, is that no matter how much you know, you need to always be aware that there is a lot more to learn, and that’s one of the things that will keep you grounded (firmly in the middle). Acknowledge your successes and always keep learning and improving yourself, and next time you ask yourself:

“Do I absolutely rock at this software development gig or what?”,

examine all the facts and make an honest assessment, rather than dismissing the question as arrogant, or giving yourself a pat on the back for no reason.

Image by echiner1

  • l337 h4XXX0r

    you spelled elite wrong… 7 is the T, 4 is A, and drop that lame E at the front.

    • Cheers mate, updated!

      • l337 h4XXX0r

        now ima get slammed for failing on the L, which is of course 1.


        • Ehehe, not to worry, that wouldn’t be in the spirit of the post (or in the spirit of what I stand for as a developer for that matter).

  • “Humbleness” should be “humility,” right? ;)

    • Well, technically speaking, yes it should (i copped some flac for this at work :)) . Although I must point out that it does come up as a word on (and we all know that the internet can’t be wrong), so I am not the only person to have ever used it :).

  • david

    You know, initially, I was fairly certain I wasn’t the best developer in the world. But then, after reading your article and further assessing my skillz, I have come to the conclusion that I am, indeed, the best developer in the world.
    Thank you, oh thank you for helping me come to this realisation. You’ve changed my life!

    Now all bow to your new leader!

  • Pingback: Dew Drop – August 5, 2009 | Alvin Ashcraft's Morning Dew()

  • Mark

    I think that there is a difference between humility and being a passive dweeb at work. If you write awesome code and are fairly sociable as well, then people will recognize your value (as opposed to the stereotype of the anti-social computer whiz who hides in his enclave and does his mysterious work). What’s much more common is going too far in the other direction and acting like an elitist @sshole just because you know how to apply X awesome design pattern, etc. Rajiv Popat ironically just made a very pertinent post on such a topic today:

    Whenever you feel your ego getting out whack, just remember the words of Tyler Durden – we are all from the same compost heap.

    • Exactly what i am getting at.
      Thanks for sharing that link, that IS a good post on the subject.

  • sam

    Just so you know, the concept of best developer is outdated. Best developers were those like ken thompson, ritchie, bill joy etc. That age is gone and now what we have are all indispensable programmers…..hey dude, if you come up with a weird problem that the team can’t solve, don’t worry someone would have come across it already. To me, there are good programmers who abide by good software development rules. The only other people I know are the guys working on crawler algorithms who have to be really top notch. So quit this humble and crap shit

    • Yeah, crawler algos is the only frontier we have left in software development, noone else is doing any innovative work anywhere, sucks to be in our profession :). And also Newton was the last true physicist and we haven’t really learned anything about democracy since ancient Athens :).

      Thanks for sharing your thoughts, i happen to disagree, but like I always say, you’re entitled to your opinion.

  • Pingback: Are you a competent programmer? (Part 2) « Mike Vallotton’s Blog()

  • Pingback: Meaningful Meaninglessness « I Built His Cage()

  • Martin

    You gotta learn spelling and grammar, dude.

  • Pavan K

    Inspirational post to find that balance between humility and confidence, on assigning credit where it is due and to keep learning and improving yourself.

    Another blog added to my reading list. Thanks Alan – really.

  • Pingback: Programming languages and the Natural languages « Navayan – Thoughts and Ideas()

  • Pingback: 你是世界上最优秀的开发人员吗? « Gerry Blog()

  • Pingback: 你是世界上最优秀的开发人员吗? | Javaer()

  • Pingback: 【转载】:你是世界上最优秀的开发人员吗?_邹嘉博客()

  • Pingback: 你是世界上最优秀的开发人员吗?-传播、沟通、分享-一直“有你”()

  • Pingback: 你是世上最优秀的开发人员吗? – 【否何】()

  • Pingback: 你是世界上最优秀的开发人员吗? - 博客 - 伯乐在线()

  • Pingback: Programming languages and the Natural languages | Navayan()

  • Pingback: 你是世上最优秀的开发人员吗? – 博客 - 否何()