(Warning: If you are ultra-confident in your programming skills, this post is not for you.)I want to program faster. As such, I've spent some time analyzing my thought process during the day, trying to figure out where I'm spending the most time. I have come to the realization that I spend a good deal of time deciding what to do next.
I believe that the root cause of this indecision is fear. I am afraid of choosing a path that will fail.
Here are some examples of things that scare me:
- If I choose this option, it might be too hard.
- If I use library X, I might run into a bug that I can't figure out.
- If I write this myself, it might take too long.
- A better programmer than me would already have figured this out.
My mind loops through these fears again and again, all the while not making a decision and thus not making progress.
So, how to solve this? Perhaps my fear is rooted in ignorance. Any time I encounter a bug or am required to implement a new feature, I am necessarily ignorant of the cause or solution. If I could get more comfortable with that ignorance and just set it on the table and start chipping away at it instead of being afraid of it, I might be able to work more quickly.
Although every problem is different, each time one arises, the situation is always the same; there is a problem for which the solution is unknown. The problem will be solved one way or another, there is no use wondering whether or not I can do it.