Don’t Hesitate, Speak Up.
Share your stupid opinion.
START RANT
Some time during the mid point of my software career I was starting to get the hang of things. I understood the basics of developing a solution, collaboration with a team, the principles of agile, and even navigating some of the petty office politics.
Having said that, expressing uncertainty and self-doubt when voicing a technical decision is something that has stuck with me for a long time. It’s common to fall into the trap of overthinking to the extent that decision-making becomes difficult. Analysis paralysis, a term coined for this, is when the fear of either making an error or forgoing a superior solution outweighs the realistic expectation or potential value of success in a decision made in a timely manner.¹
But why do engineers often face this? For one, I believe that the more you learn about software (and probably other fields too) the more you realize how little you actually know. Additionally, software is an ever changing field that what worked today may not work, or be efficient, one year from now.
Learning by Example
Several years ago I was presented with a challenge in software optimization for a major project. Within a few days, I knew what the solution was. However, I would not speak up and share my thoughts as I thought it was too good to be true. I had to run tests. I had to cross examine. Needless to say, I spent the next few days holding my opinion to the fix and finding reasons why it was wrong.
The following week, the team gets together as we have our regular weekly sync ups and I report nothing. However, a fellow colleague had the same epiphany as I did and spoke up and voiced his opinion.
My eyes open wide as I have missed the opportunity to speak up. I could have presented this days ago. Why did I over analyze? So many thoughts ran through my head, but ultimately I had missed the window to report my findings.
While this became a sure win for the team with a significant reduction in compute time. I couldn’t help but feeling disappointment towards myself, which is only human.
Lesson Learned
The main reason for sharing your opinions or ideas isn’t just to get credit for the work.
Instead, it is the missed opportunities or fostering collaboration that comes with discussion and cross examination. I start to think about how many times I have done this in the past. Never voicing my thoughts, that is. The benefits that come from learning from others outweigh any potential downside of voicing your thoughts. What’s the worst that could happen? Some one say it’s a terrible idea? So what? Ask them, why is it a terrible idea and learn and keep moving.
Having the iterative mindset is key. As software engineers we need to understand that anything and everything can change. Contribute, and speak up — your opinions matter.
END RANT
References: [1] https://en.wikipedia.org/wiki/Analysis_paralysis [2] https://agilemanifesto.org/principles.html
Here’s a few more of my favorite articles: Theory to Practice: K Nearest Neighbors for Effective Data Analysis There’s No Such Thing as a Self-Taught Programmer
- 👏 Clap if you enjoyed reading and follow for more content!
- ☕️ Buy me a coffee to keep me going
