I experienced my first major roadblock yesterday. Not for the first time, mind you, but this is the first time I’ll be putting it down in writing. In turn, I hope that this will help me address it more effectively.
I have a lot of trouble when I come across a problem and I don’t know how to solve it. Being a perfectionist, I obsess about it and give myself time to mull it over, hoping that I’ll eventually figure out the solution. This does work, but there is a major drawback to it:
I drop everything else until I figure out the solution. That is, I completely stop myself from doing anything else on the project and instead do time-wasting activities like playing games or browsing the internet. I try to tell myself, if I focus on this one task, maybe I’ll figure out the solution faster so I can get over it.
But that’s a lie. In actuality, I believe that my OCD and perfectionism prevents me from taking further action because I’m afraid of doing the wrong thing. I’m afraid of making the wrong choice, and I’m afraid that I won’t be happy with the solution I choose. In other words, it’s a form of “fear of failure”.
For now, I can think of three ways to handle this:
- Redirect my attention and focus on another problem (instead of dropping everything completely).
- Implement a solution quickly, even if it’s not perfect. In time, I can visit it again if I ever do think of a better solution.
- Drop it. In the end, it may very well be a problem that doesn’t need solving outside of my OCD tendencies.
I don’t think I should try and decide on any of these, so I’ll leave it there. In fact, I think it’s better to keep myself open to all three and to decide this on a per-problem basis.
For reference, my current problem is trying to figure out how to make my code extendable. It seems that the framework’s logic isn’t exactly what I thought it would be, so my simple solution didn’t work. Ill need to either hack around it to make it work the way I want, or to make it more difficult for users. Tough choice.