Hacker News new | ask | show | jobs
by heardtheword 3991 days ago
This is something I've personally struggled with as well. I don't think there is a one-size-fits-all solution but here's what helped me. Maybe it will apply to your situation.

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.

1 comments

Thanks, I really appreciate it. I've read a LOT of things based on "shipping is a deadline" and I think I have the type of perfectionism that doesn't want anything imperfect tied to my name. I even used a throwaway for this. As far as open source goes I sometimes held on to even pushing forks to github...

I really like the idea about mini-competitions with deadlines, I have participated in some in the past but I don't know why I didn't return to them. Thanks!

I should have also mentioned that I was forced into shipping a personal project at one point because I almost went broke. So perhaps finding a friend that can push (i.e. nicely force) you to finish something would be helpful? It may also add unnecessary stress to the situation so take that advice with a grain of salt.

I'm also guessing you edited your post several times (or maybe that's just me) just to make sure it was perfect, right? So you've figured out how to "ship" your words, now you just have to figure out how to do that with projects. ;)