The word opinion has two distinct meanings according to the Oxford Dictionary:
Synonyms to the word opinion are: belief, judgement, thought(s), school of thought, thinking, way of thinking, mind, point of view, view, viewpoint, outlook, angle, slant, side, attitude, stance, perspective, position, standpoint etc.
It is interesting that the synonyms include belief, judgement and way of thinking. That is what our opinions are to us. Both meanings of the word are relevant to us as software developers. After all, we are a very opinionated bunch1. Whether it’s Functional vs Object Oriented, Dynamic vs Static, Classicist TDD vs Outside-in TDD, AWS vs Azure, Mac vs Linux vs Windows, Star Trek vs Star Wars, we voice our opinion as the most valid, if not the absolute fact.
"Opinionated" is not bad. Having none, or little, opinion is arguably ineffective. However, the validity of your opinion is extremely relevant. Is your opinion a mere gut-feel or a statement of fact? Opinion without qualification is irresponsible.
So how do you qualify an opinion? People often start with “I think” or “In my opinion” when they’re expressing an opinion. Arguably, this kind of start for your opinion makes it explicit that you are expressing an opinion, but it is not enough. It does not convey the strength of your opinion.
In its strongest form, an opinion is based on a verified fact or empirical evidence. You can then express your opinion in the context of the fact or evidence.
A somewhat weaker opinion could be one formed from an experience. You can say, “from experience I have seen this to be true”. Just because you have experienced something does not mean that it is true in every case. You are assuming, that the current situation may be identical to the ones you have experienced before and that there are no variables.
Even weaker opinions are those based on intuition, deductions and educated guesses. We are often expressing opinions of this strength but treating them as if they are stronger.
We also have cross-cutting dimensions that make our opinions even weaker. For example, we may think that an opinion is based on an experience but the experience is second hand. Similarly, a ‘fact’ can also be passed second hand. You then must start thinking about the reliability of this second-hand source of fact or experience.
Qualifying our opinion according to its strength allows us to refine our thinking and the advice we give to others. If we have an opinion that is at the intuition level, then we can seek to strengthen it by seeking experiences and evidence. During this strengthening process, we may look at alternatives to our opinions and see if they are of a better strength.
A qualified opinion, given as advice, provides the receiver more information and a better context in which to utilise that advice.
Note: this post is also an opinion at the “intuition” level, deduced from my experiences. If you are interested in better formulating your thoughts and ideas then you may find the theory on Critical Thinking quite helpful.
1 In my opinion based on numerous experiences.
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.