This is a post from a member of the Freelancers Union community. If you’re interested in sharing your expertise, your story, or some advice you think will help a fellow freelancer out, feel free to send your blog post to us here.
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 which 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.
The bottom line
After a running around in this downward spiral of a hamster wheel for a couple of months, I realized three things:
- My estimates were always too optimistic
- I left money on the table, especially when billing hourly
- I always prioritized the client that shouted the loudest, regardless of how important they were for my business
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.
Knowledge is power
To be honest—time tracking isn’t fun. After the initial joy of feeling organized has faded, it can quickly turn into drudgery. A tedious necessity, like paying the bills every month.
At least, that was how I felt about it. But soon enough, the inconvenience of having to track everything transitioned into being a habit I appreciated. Not so much the actual reporting, but the insights that resulted from it.
When you realize that your most high-maintenance client has just contributed 10% to your overall revenue over the last 12 months; and that the effective hourly rate for that client is 50% lower than for the rest of your clients; what do you do?
Sure, most of you probably have a pretty accurate gut feeling about who is profitable and who is not, but it’s always easier to make hard decisions if they are backed by undisputable numbers.
How did it play out for me?
I renegotiated most of my hourly contracts to include a billing increment clause, e.g., I charged time in 15- or 60-minute blocks.
After some initial pushback, this little adjustment transformed the behavior of one of my chattiest clients: he went from calling me 20 times a day to batching his questions for 2–3 calls a day.
My estimates got a lot better as well. And my fear of losing business because I was more expensive than the competition also proved false.
It turned out that many clients prefer to work with a supplier that acknowledges what it takes to produce high-quality software, is transparent about it, and budgets for unforeseen events.
On the bottom line, the few minutes I invest daily in time tracking have brought me increased cost awareness, significantly higher monthly revenue, and more accurate estimates.
All of which contributes to the essential gain—a less stressful life.
Fredrik consults as a solution architect, development strategist and agile coach in his own company Infolyzer. He is also the architect and lead developer behind the time tracking and invoicing solution Lancelog.