This is the third of three posts I’ve written about consultant’s skills, check the previous posts if you like:
We work in an industry where one general problem can be solved by too many ways, each emerges from a different mindset and different circumstances. But also, in this industry there is community pressure, there are “cool geeks” and “cool solutions”, there are “best practices”, and there are hypes and fads.
And you guessed right, my dear reader, many of us lease their brains to these influences; if it is individuals, we wait for their blog post or tweets, if it is organizations we wait their radar, or if it is a community we count how many use it, …etc.
And here I would bring up two questions:
- Why do we do that?
- And what is the impact of this behavior on us as individual experts, and the industry?
Answering these two questions should positively change the way we think of technology, and how to interact with it. So let’s attempt answering them:
Why do we do that?
- Thinking is heavy, and we are lazy! having an opinion about a certain solution, a database engine, an architectural design, or an open source project…having an opinion requires knowledge that needs to be acquired, and requires time to sit and think of all the scenarios in which this solution can be suitable, or not. All of this is heavy and takes a lot of effort, so instead of taking that burden we seek ready answers
- We are afraid to be judged. I’d want to give an opinion about this framework but I am afraid to criticize it, I want to say that I don’t like it for that reason, but I am afraid that my opinion would turn out wrong, or “stupid” in the eyes of others. So I’d rather keep quiet, right?
- Lack of self confidence. And this is different from the point (2) above, here I don’t care what others think of me, but I am not sure of my brain capabilities; am I really intelligent enough to judge this framework? we put ourselves down to the extent that we don’t even ask ourselves if we are smart enough or not! We just believe we aren’t, and consequently never think of articulating an opinion at all.
What is the impact of not having an opinion?
- We become mentally disabled! We become too dependent on others to the extent that we can’t intellectually live on our own. What if circumstances push us to situations where the capability of getting external help is narrow?
- Opinions supported by proofs drive solutions. If we don’t have opinions we transform from developers to coders, we loose our value as solution providers, which is bad for us economically as the demand on us in the market diminishes, and more importantly bad to our self-respect; what are we other than the value we bring to the world? you must have heard of the “The surprising truth about what motivates us“
- Others give us THEIR solutions, that solved THEIR problems, which will not necessarily solve ours.
- We damage the industry as we shutdown intellectual power that would’ve enriched the industry, no matter how small that would be.
So, if you agree with me to the points above, then let’s check some of the suggestions that would enable me and you to form opinions, and hopefully good ones.
How to form an opinion?
- Don’t underestimate your mental capabilities. This is the most important point! At the end of the day it’s mere logic, and we all have logic; in general fast is better than slow, simple is better than complex, cheep is better than expensive, …etc.
- Try answering your own questions. For example, you see more ORMs coming to existence and more people using them, you used it yourself, but you never had an opinion about them. One time you wonder if they really provide a value, or if they are just a waste, so you instantly think of your really smart colleague, he must have an answer. My suggestion to you is just before you ask him, try to answer the question yourself; doing so explicitly will force you to think, you might surprise yourself!
- Learn from others, observe their opinions. And no, I am not saying to adopt their opinion, what I am saying is that forming an opinion is a skill that can be learned. Check how they approach the product, what they see as weaknesses and why, and what they see as power and why. The better you observe smart people’s opinions, the better you can form one
- Acquire and then utilize knowledge. In order to form an opinion about something you have to know something about it! the more you know, the closer to being correct your opinion is, so you better do your homework and acquire knowledge as much as you can. Of course up to some point you will not have the time, capacity, or resources to know more, in that case you build it according to the knowledge you accumulated, the catch here though is to declare that amount of knowledge when you give your opinion.
- We still need to ask experts. In fact, I even encourage you to do so, but the only thing I am asking is not to follow it blindly! The idea here is to be able to judge for ourselves which solution is more solid than another using our own logic, even if it means we have to weigh between experts opinions.
- You don’t have to have an opinion about everything, but at least on things that affect your technical life.
You want to be more valuable? You want to grow your career? You want to be independent? Then have an opinion.