Ego – Don’t Forget to Leave Home Without It
Ego. It’s such a tiny word. But it can wreak enormous havoc in a development team. And it’s not only hazardous for teams: ego can destroy individual developers as well. In fact, it’s impossible for any developer who hasn’t learned to leave their ego at home, to reach their full potential as a member of a team.
We’ve all heard phrases like “check your ego”. And while that’s good advice in general, it’s absolutely essential if you are working as part of a development team. Every high-performance team I have ever seen produces their best results because they constantly critique, pick-apart, and otherwise dismantle each other’s work and ideas. This is the fundamental basis behind every code-review (or at least, it should be).
Unfortunately, a developer who hasn’t learned to leave their ego at home will suffer one of two opposite fates. If they have low self-confidence, that confidence will be crushed by the continuous stream of criticism, comments and suggestions from their co-workers. Any code or design criticisms will be taken personally. This will leave them emotionally battered and afraid to make suggestions outside the most trivial. They might keep writing code, but they’ll never become a star-performer. People may stop making suggestions for fear they’ll drive this coder into a depression.
On the other hand, developers with high self-confidence who bring their ego to work will bristle every time someone suggests their code could be improved. They’ll begin inwardly raging at the lack of experience or talent that they see in the developers around them. Sometimes they’ll turn passive-aggressive and accept the team’s input but refuse to change anything before checking code in. Other team members will quickly learn it isn’t worth the effort to suggest changes to this coder.
In both cases, you can quickly find yourself with a coder who’s work is never reviewed and who nobody wants to work with. Before long, you’ve got a Lone Wolf off in the corner. Your team can’t afford that.
To avoid this mess, it is helpful to regularly remind everyone on the team – including yourself – that everyone is expected to leave their ego at home. On your team, criticisms of the code are never to be interpreted as criticisms of the coder. Questions or suggestions about a design are never allowed to be received as comments about the designer. (This assumes that nobody on your team is actually trying to level criticism directly at a coder or designer; if they are, you have a different problem.) If people on your team are showing signs of becoming sensitive to comments from co-workers, you need to speak to them promptly and directly about it.
If you can get your team to leave their egos at home each day, the level of design, coding and process improvement they are capable of will know almost no bounds.