One of the most dangerous things for anyone to have is an unchecked ego. I say "dangerous" because egos lead to a significant number of problems between team members, and can even lead to teams being pitted against other teams for no good reason.
I’ve seen ego problems not only as a manager, but also in myself — so I know what I’m talking about. I’ve seen all sides of egos, from the underappreciated, to the benign and humble, to the offensive. And yes, dear readers, all of them require some form of attention. Not because they’re all necessarily bad — some of them can be considered good traits — but because all of them need some form of nurturing.
All developers have an ego. (I’m focusing on developers because that’s who I manage. Egos exist in other disciplines, too, but my ego isn’t so big to think I can lump everyone into the same bucket.) Those egos express themselves in different ways. Some can produce outstanding work, but downplay their involvement. Others use their experience to educate.And there are those who choose to oppress.
Think of an ego like a bonsai tree. A true bonsai is a regular tree — like a maple tree — that is carefully trimmed and pruned over years to remain in a minature state. It is controlled and allowed to grow only as much as it needs to. A bonsai that is allowed to grow without pruning soon becomes too large to be considered a bonsai; likewise, a bonsai that refuses to grow might wither and die.
And ego, like the fabled lady of justice, is (often) blind. Egos rarely make their presence known to their posessor, even if it’s plainly obvious to those around them. Like the stereotypical "blessing and a curse", the ego can prevent a good developer from being great, and turn a great developer into a burden.
The way I see it, there are three kinds of ego:
Climbers are the ones who you might believe have little or no ego. They’re just in a developmental stage, where they’re picking up habits and examples from others. This can be a difficult ego state for two reasons.
First, they can pick up bad habits from others, making them more harder to work with. This is often how Know-It-Alls come to exist — they’re created by other Know-It-Alls. Working in isolation may also cause some issues, because they’ve had no-one to compare themselves with.
Second, they might require more management, since a lack of ego can lead to a lack of self-confidence (the two aren’t tied, but they definitely feed into each other). So even though someone is a capable developer, even showing strong skills, they might not believe they are good at what they do and can often be frightened of taking on more complex assignments.
Experienced educators are the Buddhist Monks of the development world. They’re the ones who’ve recognised their own skills, their place in the world (rank, position, comparative skill, etc.), and what they can do to help others. They’ve reached a level of ego nirvana. These folks are the least likely to be blind, only because they’ve left their egos at the door, and aren’t interested in pissing matches.
That’s not to suggest that Experienced Educators are perfect. You’ll still find the sarcastic and cynical types, people who will make mistakes (everyone makes them), and the introverted.
Managing Experienced Educators has its own challenges, as you need to identify their strengths so you can use them wisely, and still help them grow their careers. These are your leaders, and are the ones that can have the greatest impact on a team. Managers will need to curb some habits (sarcasm and cynicism may be a source of humour, but are destructive traits) and encourage others (such as the person who is itching to do a presentation on something they’ve learned).
Of particular warning is being a sanity check for Experienced Educators, to ensure they stay on the right path. It’s a very fine line between enlightenment and becoming a Know-It-All.
I’ve worked with the developers who can show considerable skill but lack the galantry to acknowledge the skills of others. They are content to state their superiority, deride input and/or opinion (regardless of correctness or validity), and work to make themselves as the de facto authority at the expense of everyone else. They do not strive for team — they generally strive only for themselves.
(And lest ye think that I don’t know what I’m talking about, I have a bit of experience.)
Anyone approaching a Know-It-All is generally berated first: this establishes the Know-It-All’s position above the “lesser” developer. The Know-It-All is quick to point out minor flaws (as if to suggest that only a weaker developer would ever make them), and will often talk at length of correct process and procedure that is needed to deliver a robust solution (even if such process is like using a pile driver to hammer in a finishing nail). Know-It-Alls tend to not write down critical information, preferring to be the single source of information — it’s some freaky form of job security.
(And if you find yourself needing to create pages of documentation of supposed errors in someone else’s project, for no other reason than to try to prove that you’re the “better” developer? Yeah, you’re a Know-It-All. Not a terribly bright one at that, because now you’re making lots of assumptions on project details that you won’t know, and have just exposed your pettiness to others. You have to be 100% correct, and exposing serious faults for anyone to consider it as anything more than mere posturing.)
Such demoralising attacks are what make the Know-It-Alls the worst ego to contend with. Even on large teams where they are matched with Experienced Educators, a single Know-It-All can undermine your leadership and likely intimidate your more junior members. They can lower morale and retard your team’s growth.
It’s even worse if it turns into a battle of the sexes. All of my experience is when guys feel the need to exert their lack of manhood through their supposed programming skill. (I’ve never actually seen a female Know-It-All; and while it’s possible they exist, I have about as much faith in finding one as I do seeing a sasquatch.) I offer a word of caution for those of you carrying the XY chromosomes: I’ve seen a number of extremely talented women out there who can code circles around you.
Okay, so how do you combat the blindness? It’s a tough problem because it requires not just self-awareness but also respect of others’ abilities. Many years ago, I had the problem — I thought I was pretty damn good. Then I went to work for Radical Entertainment. It was a sobering moment for me, and one that I’m immensely glad that I experienced. I offer you a simple lesson:
There is always someone better than you.
If you take offense to this, good. Focus on that thought for a moment — not the anger, but why you’re offended. I’m challenging your self-image. That’s the first step to you recognising that you’ve got an out-of-control ego. If you’re not willing to accept that someone could be better than you, then you need to take a few steps back. You need to do some soul-searching, looking around at those you work with, and see what the communities online have to offer.
For the rest of you, it shouldn’t be seen as a challenge. Instead, consider it a sign of hope: if you get stuck, there’s always a way out. It doesn’t matter if that person sits next to you, or half-way around the world.