January 23, 2020
Being right is something I think about a lot, when I first started my career I thought all the time about being right, about “winning” arguments by offering the “most logical” reasoning and explanations.
As I’ve progressed, I’ve realized that there’s always this battle between being right and being efficient. And have come to see and recognize that there’s more nuance into building software than just trying to impose my metrics of “readability” or “simplicity” onto a codebase.
People just want to be effective at what they’re doing, and other people (like me) struggle to be right, which clashes with their ongoing project.
In retrospect, I’ve made people struggle with having to deal with me trying to push my opinions into code reviews of their codebases, and trying to offer a “right way” to build things. Sometimes people agree and change their code, which could be less efficient, and other times they agree to disagree and avoid having to implement my changes.
I’ve always had this thing within me of being right and having people acknowledge that. As I grew up and understood more about human behavior, I’ve come to realize that I should value my opinions around people agreeing with me. And learning from others by disagreement is also a great tool to move forward. It has opened my mind a lot to other people’s minds.
It has also reminded me how other people are at different stages of their career progression, and while I would suggest changing things that I’ve seen fail often. There’s also a lot of value in providing suggestions and letting other people learn by themselves. Or by doing a more “Socratic” way and ask questions so that they realize that the answer was within and they just needed to dig a bit deeper.
Growing around this idea has required building a lot of empathy for other people and a lot of compassion for myself and realizing that I’m not perfect in managing to do this 100% of the time. From time to time, I will fail and go back to old patterns, but I’ll try to go back upon realizing this.
Usually happens when I see comments that could have a sigh at either end of it. I will say that I agree with their current approach and try to state my concern clearly before signing off.
It is an ongoing effort on my part that I have as a resolution for this year. Be more empathetic in general with my peers and coworkers, for the benefit of all of us.
I'm a software architect that enjoys helping people, building platforms, and working in distributed systems at the intersection between people and software.