22 Apr 2013
Reading Hacker Monthly (#26, "Why you’ll always think your product is shit") I just had this thought. When you look at something you created, say a program, a site, an app or a blog post, and if you don't think it lacks something in certain areas or that it can be made better - you are not looking hard enough. Or maybe you're just resting on your laurels.
It's not to say you need to be constantly unsatisfied with results your work, it's totally fine and even required to have wins and pride yourself on what you achieved, but you need to be constantly assessing the result of your work quite critically; in fact you need to be the harshest critic.
If you are not finding any flaws in your work, it could be due to several reasons. You are not interested enough. Maybe you made something and moved on - that's OK, people do that. But if you fool yourself into thinking that you achieved such a great milestone and there lies nothing past it - most likely you're wrong - there's always something else, some higher level of mastery/skill/knowledge.
Another reason could be that you might still be enjoying the fresh feeling of achievement - in this case it can be hard to start looking for imperfections right away. But be aware of this stage, it comes after the initial joy - the moment when you start seeing all the rough edges and wrinkles.
On the other hand you need to be practical - seeing imperfections and ways to possible improvements doesn't mean one needs to act on those immediately. You can write them down for future consideration, as it will encourage this specific type of thinking. But striving to cross them all off your list is one of the worst form of procrastination, that is perfectionism. Practicality beat both purity and perfectionism.