There 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