Capitalizing Your Personality Traits in Software Development (20/30)
I'm writing 30 posts in 30 days. This is number 20.
I took a Big5 personality test conducted by someone who was with Walmart Data Science department. I won’t go into all the details, but one thing stood out was that I score higher than I expected in the Open-mindedness category.
Strengths and Weaknesses
Personality traits, to me, are largely hard to change. Or at least the floor levels are hard to change. I’m sure there are days I am less open-minded and other days I’m even more open-minded than usual. But even on my worst day, I probably will still score higher in that category than the average population.
With that in mind, strengths and weaknesses that emanate from some extreme personality traits are also hard to budge. A strength is often also a weakness in that both are actually the same trait but applied in different contexts.
My open-mindedness has led me to being unusually curious and early to certain trends, but also being easily distracted that it hurts my productivity. The same trait that gets me enthusiastically starting projects is also the same one that leads me to be a bad finisher.
When Applied to Software Development
Choosing software development as a career aligns with my open-mindedness trait. Directionally speaking, being open-minded and curious is rewarded in software development. However, the same trait that’s generally rewarded in this field can also act as a ceiling of sorts for progression.
Overly open-mindedness and curiosity harms progression in two ways:
getting so distracted, projects don’t get done or don’t get done well
over-complicating everything
I don’t want to get into embarrassing details, but safe to say, I have memories full of terrible decisions that are a direct result of 1 or 2.
In terms of 1, if I’m the person who always want to be on the cutting edge, it’s best I focus solely on cutting edge stuff and go work in research or for someone else. At least in those sub-areas of software development, the downside of being endlessly fascinated by new technology isn’t as penalizing.
However, being on the cutting edge via research is not what I truly want to be. I prefer to be building something more tangible and can point to. Therefore, this is something I simply have to ameliorate the worst effects of my trait without blunting it too much.
Run Less Complexity
As for 2, having read Intercom’s seminal piece Run Less Software, simplifying, or at least avoid over-complicating is my primary focus now in terms of improving my personality traits.
Too many times, I default to thinking that the fix out of any work related architectural issue is yet another new technology, new architectural pattern or new work paradigm. It might very well be the case, but it seldom is. If I had spent more time in days being more deliberate and being more truth-seeking, I would not have wasted months trying to plug the more problems I caused incorporating the new tech, architectural pattern, or work paradigm. The one-day-I-will-find-the-perfect-final-fix is not a personality problem. It’s a mental one.
It’s a false belief in the one day myth. Better off I focus on the here and now. Besides, even if I do end up finding a good fix for today’s problems, that doesn’t meant there will never be problems ever. The only day when there are no problems ever is when I’m dead and I want to postpone that day as far as possible.
So focusing on simplifying, not being afraid to stay with the current mess, and anxiety, avoid running more complexity, that’s a key focus for me in terms of being a better version of myself. Regardless of actual achievements and accomplishments. I see those as lagging indicators of my actual inner improvements. And this spills into my engineering work.
What about you? What’s the inner work you’re working on that will affect your outer aspects like your career?