Hacker News new | ask | show | jobs
by poulsbohemian 1019 days ago
Here's the challenge I ran into, so I'm curious how you handle it...

If you bill by the hour, first they fight you over the hourly rate. Then they want to argue over how many hours it will take to do the work. Then they want to argue over you billing them for all the project management and planning hours you are spending with them, they only want you to bill them for "the work." Then when they get the bill they want to argue over the hours you bill them.

And before anyone says "find better clients" I found this in everything from Fortune 500 to mom and pop. And Fortune 500 is net-180 regardless of what's in the contract.

I was spending so much time in this kind of BS that I went to a monthly retainer model. You get access to me, but you are doing so in a way that we can both set aside haggling over hours. For the smart clients it was a great deal and it saved me a whole lot of accounting overhead.

4 comments

Have you considered a monthly retainer with an hour cap?

This prevents you from being treated like a salaried employee, maintains your work life balance, and ensures the client is still providing solid requirements and thinking through their ideas.

We have found a lot of great success with this model, and our clients respect it. It ensure we can have multiple clients, without one taking up all of our time, and taking it from others.

If we spend under X hours, that's fine. But there's simply a cap. It essentially means that each client gives enough work for us to work for those total number of hours, and we still have MRR regardless. We can help our clients maximize usable time, and it makes our project management valuable to the client as well.

To combat long Net Terms, you can kickoff a client with a project, which begins upon receipt of payment, and is continued with the retainer. This initial project should be able to support you until your retainer payments start (180 days in length) but your retainer should start ASAP.

It also allows the client to see your value, and you get to feel the client out.

At this point in life, I've moved on to a new field altogether, but some of the ideas you are sharing above are exactly the types of models I experimented with.
What did you learn from these experiments?
A number of years ago, the term "F*ck you, pay me" was going around in popular vernacular. That jives with my own experiences - ask for deposits up front, make payment net-15, tack on a giant fee in the event of slow / failure to pay, and make sure your contracts are written so that the client pays legal bills in the event you have to sue. Create contract disincentives to encourage good behavior. Keep your rates high and don't give anyone a deal. Be willing to say no both to prospective clients as well as individual projects - even with good clients.
I've been a contractor for 14 years now and have faced little of what you describe, but I've also attempted to insulate myself from it as much as possible. You learn pretty quickly which clients not to take, and haggling over rate is the first red flag. My rate is my rate, it's not negotiable.

Other red flags are "we have a project starting in a week" type offers. Mom & Pop's are right out as they are the worst companies to deal with. Startups tend to be great since they have tons of money to throw around and don't care how it's spent as long as work gets done. And if it's not at least couple months worth of work it's not worth my time.

Once you have a network many of these issues go away. If someone is coming to you because they know you or you know someone on the team, they are much less likely to dick you around. It's also easier if you promote yourself as a consultant as much as a contractor because then all the "planning" hours are part of your offering (and I never use the term "freelancer" cuz I don't work for free).

The most powerful thing you can tell a client is "no". There will always be other clients, there's no reason to sell yourself short.

In fifteen years of contracting, 20+ clients , I've never had issues or questions about my hours. All software project based work on projects that span months to at most two years.

Up front, the hourly rate is agreed to, the expectation that I typically bill forty hours a week is set, we agree that overtime is only undertaken with written permission. I tell them I don't bill for lunch or breaks and that if they can't provide me with work to do, I still bill but that I inform them persistently when undertasked.

I only estimate work by giving complexity numbers. They all ask well how long does that take??? I say over the last x months, my average complexity points accepted in production is y points per two week period. So expect this five pointer to be done in a week plus or minus two days.

Do you need a better estimate? Then it will cost you two unproductive days for me to fully spec out the work and I'll need three hours of your time for this feature to give you an estimate that has a tighter variance.

This is the way it's done folks. I know what I make, I can easily have a life, wife, family. Companies make sure they have me work on most important things first and they end my project when they feel it does enough of what they need it to do.

I'm visible, I show real progress frequently and they get value out of released features early on and continuously throughout the engagement.

Sometimes I lower my rate for equity, people I enjoy working with, working on tech or a business domain that interests me. I'll of course raise it for the opposite.

In the fifteen years I've had three weeks in 2008 where I couldn't find work. I've billed between 95-155/hr CAD. Mostly enterprise custom applications. Billing systems, engineering process systems, banking apps, trading apps. Typically lead dev roles. Working in a Canadian city or remotely for USA companies. C#, ruby, scala, python. Not a great programmer, I'd get laughed out of the room on a leet code exercise but I've repeatedly delivered projects and systems where the previous teams have failed. There's only been a few of the 20+ projects that haven't been rescues.

I have a similar arrangement but I look at it much differently than you.

The retainer allows a client the freedom to contact me over what they think is nothing, because it is nothing, but 9/10 times that nothing will lead me to discover some issue that did need my attention, and I can give it that attention when it's still a nothing and not a barn-on-fire problem in their business. It also means I can log a trivial amount of hours doing the monthly maintenance that most clients gripe and piss and moan about you charging for: they already paid me. If a retainer hasn't been used up by the end of the month (and it usually hasn't) that's when I go do housekeeping for them.

Client gets a consistent-ish expense in their books, I get paid, everyone's happy.

> If you bill by the hour, first they fight you over the hourly rate. Then they want to argue over how many hours it will take to do the work. Then they want to argue over you billing them for all the project management and planning hours you are spending with them, they only want you to bill them for "the work." Then when they get the bill they want to argue over the hours you bill them.

I mean this is just the game, dude. I personally just do not have these arguments, I'm not open to these discussions. This is the price of my time, this is how much time it took, this is the bill. If people don't pay then I don't perform services and anything I have access to goes down until I will, but I've only had to do that once so far, and they got the point very quickly.

If you don't want to do this then yeah freelancing/contracting isn't going to be your bag. I don't judge you for it but like, that's just how it goes when you're in business for yourself.

Also worth noting: I absolutely charge for time spent haggling. Any time I'm doing thinking work for you, that's time I will be compensated for. I outline this very clearly from the off, and if people drag it out over hours, then they pay for those hours. Simple as. I'll never inflate my hours or make something take longer than it does, but also, I demand compensation for what's spent on their whatever.