When you’re self-employed, you can choose how many hours to work. Many people end up working even more than employees — you feel guilty when you’re not spending every waking moment working on your business. I fall into that trap too, sometimes, but I’ve realised working long hours isn’t necessary for making a living.
Currently I work about 20 hours a week. I take my two boys to daycare at eight, and pick them up at noon. This gives me four hours of uninterrupted work time, five days a week. Sometimes I wish I had more time to work, but on the rare occasion that I do work longer hours, I’m not really more productive. Limiting my work time somehow encourages me to make use of the little time I’ve got.
When you’re working on a project that takes a long time to develop, it doesn’t make sense to rush anything. It’s more important to be persistent. I try to work on my product every day, and every little bit I add makes my product a little better. My customers don’t care if it took me a week or a month to implement a feature. They only care if it works.
I work slowly. I don’t subscribe to the ideas of “rapid iteration” and I don’t think you should “fail fast”. Instead, I try to work at a slow but steady pace. I try to make sure I get closer to my goals every day, without burning out on the way to get there.
There’s a nice side effect of working slowly: You have lots of time to think about things you are doing. When you work 4 hours per day, there is a lot of time left for your mind to reconsider your solutions, and to come up with smarter or more elegant ways to solve the problems you encountered. I think this is especially important when working on a large project. When you’re banging out code 10 hours per day, you won’t have time to reconsider any of the dozens of decisions you made that day.