I’ll be playing with words today. Are you up for it? It may be a little painful.
I might just step on your prose, but it’ll be worth it.
A forum post detailing hero programmer behavior got me thinking about this subject recently. Several works including a nicely written post titled “Hero Driven Development” reinforced sentiment I’d heard elsewhere about the dangers of relying on or even encouraging hero developers. I’ll not go into detail about what a hero developer is (read Boris’ post). It will suffice to say that hero developers may efficiently solve problems, but when a team of people is involved heroic behavior run wild leads to ineffective teams.
Despite the hero anti-pattern, I have seen developers behave heroically and it be a good thing. As a result of their actions, people get better, teams succeed, and serious amounts of work just get done. As I thought more about the positive hero developers I’ve seen and worked with, I searched for a word that has not been quite so commandeered as hero to express what I have seen. I think I’ve found one.
We need a champion, not a hero.
Admittedly, the two words have a great deal of overlap. If you search Google for “champion vs hero” you may just come across the following Answers.com question and answer.
After finishing my Krabby Patty, I did read a dictionary (or something) to get a better idea of the contrast in meaning between the two words. Champion has a range of meaning, but dictionary.com gives this definition that works well here:
Champion – n. – a person who fights for or defends any person or cause
It’s this that interests me, because those “hero” developers I look up to do this! To further solidify the difference in my mind, I ran to figures that embody the two concepts and came up with:
Left to right – Mel Gibson’s William Wallace and
Seagal’s “Bad Ass Vigilante Hero Cop” character from every one of his movies…ever
The two work in very different ways:
Wallace pours out blood, sweat and tears raising an army to defeat an oppressive tyranny
Seagal breaks in through windows and punches the problem…himself
Wallace hones his own sense of justice then persuades others, even his enemies
Seagal breaks his enemies’ arms in half…himself.
Wallace tackles hard problems by building a team of lieutenants and generals
Seagal literally tackles hard problems…himself
Wallace is ultimately dispatched, but dies for his men, his country, and his ideals
Seagal dispatches corny one-liners and laughs…to himself
Think of some other champions from human history. If you thought names like Abraham Lincoln, Mahatma Gandhi, Nelson Mandela, Jesus of Nazareth, you’re getting the picture. Now ask yourself, how did they each end up?
Time to sum this up. I prefer champions because they are servant leaders. They give of themselves when needed and for a cause that is larger than themselves even though the risk is great and reward may be non-existent. As a developer, I strive to be a champion rather than a hero for these reasons.