Perfectionism and Programming
Perfectionism plays a role in all of our lives. Like many qualities, it is hard to pin down the ways in which it influences us, but at the extremes this becomes clear. I was reading an article from The Economist’s 1843 magazine and it was the nudge I needed to write a piece on perfectionism in programming.
There is a strong desire in me to appear knowledgeable. An extension of this is I spend eons of time looking at the ‘right’ way to do something. For example, if I am looking at building a database, I’ll spend hours reading about the ‘best’ RDMS to use. This is a far cry from those who get stuff done. They pick one technology for the job and stick to it. I have always struggled with picking one or two technologies to learn and sticking to them, knowing full well that they may not be the ‘best’ or most efficient. And yet, everyone who gets stuff done in the world does this.
Within my area, there is a constant debate about using R versus Python for data science. Personally, I used to think this was a much bigger issue in light of the job prospects afforded by Python. But I’ve recently come to the conclusion that in the end, it doesn’t matter. If you are a strong programmer, you can learn any other language to the degree required by any job you are interested in doing.
Now for some advice. If you find yourself spending hours on forums searching for the right way of doing things, please stop. Spend an hour or two upfront looking for the right technology that satisfies your needs and stick to it. Further, doing this prep work should not turn into a daily habit where you conduct further research to confirm your decision. Continuing to search online for answers to questions you already know the answer to is, frankly, insane (and yet something I do all the time!).