| There's no excuse for not delivering my projects. I have the time, and I have the expertise and the capability. When I start a new project though, I have a huge issue with making sure everything is perfect and obviously never get very far. I know what the problem is, but I can't push past it. I've tried setting deadlines but then I just watch them pass and get into depressed-like states. I've tried starting with extremely small projects, I was going to do a simple Electron app but I spent the first 8 hours on the icon (no joke, it was a dozen icons and I'm still not satisfied enough to move on). To give you some background, I worked at a government contractor for a long time, and really judged/hated the code mess I had to deal with, I think that may be causing it. I'm looking to listen to any books or talks on the subject that discusses the problem more. Has anyone received psychiatric help for this type of issue? I feel it's reached that level of severity. Or, do I just need to always have someone manage that aspect of my life? I definitely produced a bunch of stuff when I had someone above me, but I always hated my time there because I thought I could do things better. Should I learn to accept that unhappiness? |
Shipping a complete project is perhaps one of the best ways that helped me get past the "It has to be perfect" thought. In my case it was doing a few ludum dare competitions and forcing myself to submit whatever I finished after the weekend was over. After a few times of doing that it got a little easier to forgive some of the atrocious code I had written. Coding Horror has a good post on this, http://blog.codinghorror.com/version-1-sucks-but-ship-it-any....
Another thing for me was getting involved in open source projects and maintaining my own. The first project I open sourced was a port so once it was in working condition I made it available for others to use. That lead to other projects that I could finally finish even though they weren't "perfect".
I wish you the best and hope you can find a way to cope with it.