Some ten years ago, I worked as a freelance web developer. Or — to put it as I preferred to define myself at the time — I made a living by running a small web agency.
Regardless of the label, I did web development, design, and some strategic consulting. And I had a product: my own content management system (CMS) called, *drumroll*, Sitereactor.
The bulk of my revenue came from collaborations with real agencies. Thanks to them, I got to be involved in projects I probably never would have landed on my own. The CMS was the door opener, and the projects provided funding and feature ideas for the future development of the CMS.
Life was good. Or so I thought.
In short — the tempo was pretty intense. I worked crazy hours and rarely took time off, but since the CMS was a passion project, it didn't matter. This wasn't a job; this was a hobby that made money.
The problem was that I had no clue about how profitable my business was. Nor did I know whom of my clients was the most lucrative one.
For starters, I didn't keep track of the hours I put into the development of my CMS. It was always like: "if I don't fix this feature, I won't get project XYZ."
Had I just seen the proverbial forest, I had realized that sometimes the project acquisition cost is just too high compared to the value of the project one is trying to land.
Secondly, the more projects I did, the more time I had to spend on supporting previous projects.
The relentless product development tempo had a nasty side effect: it created bugs. Lots of bugs.
Working 80 hours a week is easy when you work on an interesting problem of your own choosing; especially if you're in a state of constant flow.
Working 80 hours a week tracking down bugs and supporting the whims and wishes of demanding clients is something else.
With fixed rate projects, I always felt like there wasn't so much to do about it. Just suck it up, do the work and get on with the next project. Which I, of course, again, estimated way too optimistically since I didn't keep track of the total amount of hours I put in during the last similar project.
And on projects where I charged by the hour, it felt so cheap to charge for every minute I talked to a client on the phone or over email. Especially when it was about bugs or small things that could be fixed in five minutes.
After a running around in this downward spiral of a hamster wheel for a couple of months, I realized three things:
So, I decided to take action and start tracking time.
Pretty soon, it became depressingly obvious that my effective hourly rate was way below my estimates in most of the fixed rate projects.
It also became clear that I had given away hours and hours for free.
By Fredrik Holm, 2018-08-09.