I’m not a fuzzy person. Especially when things come down to business. I have a few basic rules that I want the people around me to follow.
- Have an opinion or stay quiet.
- Opinions must be backed by research and not bias.
- Defend your opinion or stay quiet.
- Nobody knows what they’re doing, do your best.
- Ignorance is inexcusable.
The problem with opinions
I love opinions. I love my own opinions and I love other people’s opinions. Especially when I disagree with them. I don’t love bias, though.
When hiring people, I need to figure out a way to establish bias. For a developer this is pretty easy. Ask about their favorite programming language, then ask them to talk about the opposite language.
Unless it’s a universally reviled language, there should be two responses:
- I don’t use that language, but there are some interesting features.
- That language sucks! That’s why I don’t use it!
The second is stupid. It’s a bias opinion. Typically, everybody who holds the second opinion can’t actually write code in that language.
If someone holds opinions like this and hoists them up, that person is going to be trouble. If they state why they don’t use it using concise, thought out arguments that show at least a passing familiarity, they’re probably ok to continue talking to.
For other professions it can be harder. I don’t think sales people are extreme zealots. I hope not.
Defending your opinions is a must
I have a lot of opinions people think are dumb. A lot. I’m not ashamed of them because they work for me. That’s what this is about. Is it the most efficient or best? Certainly not.
I don’t take offense when someone tries to tell me I’m wrong, provided they can defend my counter points. Also, I understand there are better tools. Evangelizing won’t help, but any evangelist better be able to back up their claims with real, practical knowledge.
Otherwise I dismiss them entirely. That’s a big red flag. It’s back to the harmful bias of above.
There are a lot of scenarios like this in the developer world. MySQL vs Postgres. RDBMS vs. NoSQL. None of it matters.
What matters is that people can defend their choice. The better the defense, the better the person. Doubly so if in their defense they acknowledge or even proffer the limitations or weaknesses in their own opinion.
This isn’t religion. It’s making the best damn product we can.
If you don’t have anything constructive to say, don’t say anything at all.
I’m guilty of this. I try hard not to, but it’s a bad habit I’m trying to break.
Around the table, discussions are heating up and opinions getting more pointed. Typically about some finer detail in the product that I just don’t have an opinion on.
Then I’m asked for my opinion. And I actually say something that isn’t, “I have no opinion, but I’m listening so I can evaluate it.”
I haven’t had a chance to think it through and really digest the options, but I weigh in. I usually do it with bias. Who do I like more? Who used bigger words? Who has nicer hair?
Nothing that really matters in the context of the discussion, and most of this boils down to comfort.
The only time I feel justified to weigh in is if an opinion is based on, “this is what I’ve done before and I don’t want to learn”. If I sense that, I generally am opposed to that position.
Learn. We’re here on this world with access to the most limitless and vast amounts of knowledge. Ignorance has no excuse anymore. We aren’t held up by priests reading only the chapters they want. Go learn or keep quiet.
I’ll go on a tangent here a bit. In a discussion, someone said I should be taking a solid look at Riak over MySQL or other conventional storage systems. I know I will hit some scaling issues and likely hit them fast with an RDBMS. Something like Riak would solve a lot of problems, but I’m not interested in Riak right now.
Why? Because it’s too big of a burden on me to maintain while I’m the only one. After a few employees trickle in and take the load off then Riak is certainly an option.
This is made possible because of another opinion I have, which is it’s always ok to replace any part of the system, and if it isn’t, we’re doomed.
We should be able to migrate from between systems or I have failed. I’ve failed defending my opinions and executing on them. The consequences of not defending your opinions are dire and painful. It’s lost momentum and more friction. It’s confused direction and misguided movements.
And then it’s a dead business. Next.