We all have strengths and weaknesses, and there are different strategies for managing them.
I tend to view them like I view “Specialization versus Generalization” – go deep into your strengths and only work on your weaknesses to the extent they are no longer hurting you.
For example, I’m not great at public speaking. I could have put untold hours trying to become a great public speaker. Instead, I spent a little time working on being “OK” at speaking and spent the rest of my time getting even better at things I was already good at doing.
I can’t guarantee this will work for everyone, but it seems to have been the best choice for me.
The few times I tried to become great at things I’m naturally very bad at, haven’t resulting in me being great. All that extra effort was wasted and added a lot of frustration in my life.
Return to “Life as a programmer outside Silicon Valley” index