I read a post today entitled “Don’t Be The Smartest Guy In the Room”. The gist of the post was that the author had been in a team where a highly intelligent developer continually had the best ideas and was making everyone else on the team feel incapable and eroding their confidence.
He suggested that such smart people shouldn’t have the last word and should sometimes sit on their ideas and select inferior solutions from less capable developers so that they aren’t intimidated and made to feel worthless.
The author suggested listening to the opinions of others and speaking less. This part I agree with – smart people showing off and beating up others with their ideas is destructive behaviour. But to suggest good ideas should be withheld to make people feel better about themselves is just wrong. There are better ways to deal with this.
Most development teams comprise people with a mixture of skills and experience. I rarely find I am choosing between one solution or another as though they are discrete alternatives, but rather taking the best of a range of ideas.
I would certainly not want to sit on a great idea and select an inferior approach to appease someone. That would waste the value of the idea and also waste a learning opportunity. I would be doing a disservice to my team and client.
Instead, I try to present a problem and then solicit opinions through discussion and debate. Like any problem solver, often I’ll have a rough solution in mind, but rather than offer this outright, through a team conversation I can give less experienced members of the team the chance to put forward their own ideas and draw their own conclusions.
Sometimes, to kickstart a discussion, I’ll start with an overly simplified approach and ask people to find the problems.
By asking questions such as “Have you thought about X?” or “How could we handle Y?” you can guide an inclusive conversation where everyone has a chance to contribute.
I’m always careful to ask quieter team members open questions to see what they think about various aspects – especially aspects with which I know they are familiar – and I’ll always close by reminding people that they can always find me or email the team if they have any further thoughts.
Inevitably, what happens is that we reach a better solution through collaboration – one that sometimes looks very different from the idea we started with, and one that everyone feels a part of and motivated to deliver. Not only that, everyone gets to practice thinking through and articulating ideas, and that is a critical development skill.