About five months ago I left my old job and started my own [http://bitcube.co.uk Linux infrastructure consultancy]. It’s been a nice ride, the freedom and control is fabulous.
One benefit I particularly like is the ability to be really flexible with my hours. Whilst I used to take the odd hour out to cook a nice lunch or to grab some food, I still had to be around during “core hours”. That’s no longer the case. If I’ve got no client work to do then I can do what I like – take the day off, do some DIY, or more usually do some internal work – learning new technologies, improving my puppet configurations or perhaps working on the finance side. I don’t even feel guilty when I take time off – it’s my company after all.
I’m very fortunate that some of my clients allow this flexibility to extend to the work – they appreciate that it doesn’t really matter if I work 9-5 Mon-Fri or at 11pm on a Sunday. You still need to take suitable precautions – breaking a system without realising it at 7pm on a Friday would be very bad. In addition I can do the work when I’m in the mood (or zone), as opposed to when other times when I may be distracted. I personally find it much easier to concentrate in the evening rather than during the day.
There are other upsides, a recent customer needs some setup done and although I’m pretty maxed out, I can find a few hours at the weekend and in the evenings (which can be a bit of dead time given the scarcity of anything decent on TV). This way they have an improved system weeks earlier than would otherwise be possible (and since this improves their development rate that can’t be underestimated). From my point of view, I am able to work more effectively – using otherwise “dead” time during the week means that I could take a day “off” in return when it suits me. This is called a win-win situation.
It’s often the case that a customer only needs an “80%” solution – however for my personal satisfaction and to improve reuse I normally put in the remaining 20% which typically makes the solution more generic and useful to everyone (including the customer). If I’m working 9-5 then I can’t easily do this, however if my hours are flexible then it’s trivial to do customer work for 2 hours, then “my” work for an hour to finish off that chunk of work before moving onto the next task.