I track all my billable time for last 7 years. My average is 4:30 billable hours a day and I can confirm that every period of over-working ends with equal or longer period of under-working. So the 4:30 is like a gold number. I stopped to fight with this, and now after 4:30 hours I happily clock out and go home. (Yes, I'm self-employeed). This way the only reasonable strategy to earn more without having health issues is to bill more per hour. Exception to this 4:30 rule is non-programming work that doesn't require high concentration: visual design, reports, configuration, CSS tweaks etc - I can do it pretty much non-stop for whole day.
Exactly the same experience here. I always felt bad about those periods that I wasn't able to even put in 20 productive hours a week, until I started writing detailed hour log: every bad period was always preceded by a very productive period where everything seems to come together.
Even the last three weeks: I was stuck on a design problem and couldn't really move forward/get productive for two weeks. Then when the solution finally clicked you can have a few days of just coding it all, that feels so much more productive.
Also got similar experience with being able to easily work 16 hour days on tasks that always have a clear and small next step, like CSS/design fixes.
What I've learned is to take advantage of those days that everything just works out and make the extra hours and not feel guilty when they don't. Works much better for me than trying to stick to a fixed number of hours per day.
>every period of over-working ends with equal or longer period of under-working
I've only recently come to accept this. I've recently hit a period of too many clients showing up at one time and I now feel stupid when I work on the weekend because I know that kind of "heroic" effort will be balanced out by me goofing off on Monday.
Thanks for sharing this! That does beg the question: how much non-billable time do you have? Being self-employed, you have a very acute insight as to what's billable and what is not, but in a typical salaried position, eveything is lumped together.
I'd be curious to know if your total time is closer to 8 hours/day once you factor in estimates, leads, customer travel, accounting and all the stuff that comes with your own structure.
On a related note, it's useful to know the ratio of billable vs. overhead. All too often, people new to the self-employed world plan for unrealistic billing hours and forget about this overhead.
Since I rarely begin new projects and have several loyal clients, overhead such as bookkeeping, estimates and talks is relatively small. (Especially estimates: usually I don't estimate at all, just get the work done and bill for it later; and most talks and customer travel, when still unavoidable, are done by my partner who is non-programmer). This works other way too: I usually avoid new clients to minimize overhead.
Also the overhead is exactly the reason I don't hire people: time and energy to spend on management are tremendous and up to this moment I wasn't been able both to hire someone and make profit from it. So, my model doesn't work well for teams. Or maybe I suck at management.
Another problem is time spent idling: my time in the office varies from 5 to 8 hours, when I switch from tasks I'm often distracted by non-work things such as reading news, lunch, occasional gaming.
The main non-obvious downside with pay-by-hour model is that when I try to be more effective, I spend more energy, but get less money.
P.S. Can't provide exact numbers now because not in the office.