Ask HN: Do you lie about how long a task took you as a freelancer?
I just finished a small freelance gig.
If I'm looking purely at how much time I worked, I got about +5 times my hourly rate at my full time job.
But thanks to my code the client saved at least 4 times what I charged him.
I can't help but feel a bit dumb for not having charged him more.(guess I was afraid he'd refuse, or that he wouldn't come back)
If you think a task seems very valuable to the client, what do you do to make it fair?
Do you inflate the time you spent on the task to charge them more?
Or do you manage to flat out ask them for crazy rates like a few hundred of dollars per hour?
28 comments
[ 3.7 ms ] story [ 37.0 ms ] threadYou should focus on adding business value and how to attach fair prices for delivering that value, in concrete terms. Hours spent at a keyboard, or lines of code, do not describe anything of value to a business.
You can ask the customer to attach a value to deliverables and then decide if you can profitably deliver. Structuring projects to support that means you and the customer have to break the tasks down into well-defined steps with clear deliverables, something freelancers should do in any case. It also means getting the customer to think about business value. You should also consider cost over time (i.e. is the customer losing money because of a bug or missing requirement), and risk to the business.
Freelancers too often either accept a price the customer attaches to a project (based on what?), or guess at the time required and multiply by the desired rate. No one specifies the project in detailed steps with clear deliverables and a definition of "done" for each stage. As a result the freelancer and the customer will conflict over schedule and budget, usually well into the project.
For skilled freelancers with a solid reputations "a few hundred of dollars per hour" doesn't describe a "crazy rate."
Charging for time makes perfect sense in some cases, though. If you're working for a pointless startup that is likely never going to be profitable (or "exit" while unprofitable), you can't express your rate in terms of business value because, well, there isn't any.
Because it comes up with startups specifically, I wouldn't accept equity in lieu of pay. If you strongly believe in the startup and the possibility of success, that might make sense, but as a gamble rather than a predictable income.
> You should focus on adding business value and how to attach fair prices for delivering that value, in concrete terms.
Based on what? I'm not a business analyst. I have no idea how much business value a particular project could be worth to my client.
Sometimes the customer needs help identifying the business value, costs, and risks. A successful freelancer has to do some analysis, business and technical. Otherwise they are just selling their time for money as a temporary employee.
One thing you can do in a programming role is to take an active interest in how the business works. Talk to people in other departments, ask questions. Early in my career I had to "cross training," which meant shadowing or even actually doing other jobs so I could see how the business works. I not only write code, I can operate a fork lift, thanks to cross training.
one time i wanted to hire a lawyer. his rate was $1500 per hour and his partner’s $2000 per hour.
again, we are so far off as engineers and we are clueless regarding negotiation and deal making.
The street cleaners or workers at McDonals are even more clueless then. Or, it's supply and demand.
also software contracts are generally not for 1 or 2 hours in total. if you NEED and get someone to consult on your code for 1 or 2 hours the rate would be astronomical too.
maybe we need a license that will end all leetcode BS
you are wrong that lawyers only work a few hours on a case. they work hundreds of hours on reasonably sized cases if not thousands and the rate is the same
never said lawyers work only 1 or 2 hours on a case, but still imho lawyers consulting for 1 hour is much more common than software developers consulting for 1 hour.
Do this enough times and after a while you will have a steady stream of work from customers that you can work with on the basis of trust.
PS : You say "your code saved them 4 times...", but sounds like it was their idea, so they could have got anyone to do it. Remember that, you should be grateful for the work.
If a client saves 4 times what you charged, then that isn't too crazy. You should capture ALL of the value right?
And some companies like Google capture that kind of ratio from all of their employees!
Just to be a little argumentative, I'd like to point out that software estimation is very hard.
You might grossly overestimate the effort for Project X with a client and end up charging a few more hours than you physically coded, but you might grossly underestimate the work for Project Y and end up eating a bunch of hours to keep the client happy.
Is overcharging for Project X but undercharging for Project Y, and basically keeping things in balance and fair that unreasonable?
So I don't think you should've charged more in this instance.
Most of the time, my clients ask me to pad my hours, to charge for things like driving to a meeting or times that I'm just reading a book, stuck on a project.
There's the clients who will try to take advantage of you and there's the ones who love being generous. If you're generous with people you work with, you end up working with the people who would be generous to you.
And often, gaining the correct understanding is a project in and of itself. That is really what many consultants do - they research problems, analyze the status quo, propose solutions and plans, and charge a fee for producing a report that includes all the results. Then someone else actually does the work.
In my experience collecting this kind of information, it is actually in the interest of freelancers to charge hourly. Far too often, with project level quotes, there is a scope increase, and in the end, the hourly rate is way less than your actual hourly rate. Not always, but very, very common. It only is in your favor if the project itself is actually very simple, you know it will for sure take you x amount of hours.
I wouldn't lie about how much time you spent doing something, either. But there is some nuance there. It's not like you can work for 2 hours and then bill for 8. But if you work for 10 minutes, you can bill for the hour. If you work for 2 hours 10 minutes, you can bill for 3. This is what I tell people working for me, but YMMV.
Today, that same task might take me 5 minutes to do and I'll charge $50 to do it.
Why? 10 years ago I was learning how to do it. Today, I know how to do it ;)
I could spend time watching a YouTube video for how to install a bathroom sink. It would probably take me 2 to 5 hours to complete the task. However, I have a handyman who I hire and it takes him about an hour to do it and he might charge me $150 for the installation. 2 to 5 hours and I might do it wrong. Or $150 for my guy to do it in about an hour?
You pay for the professionalism and the expertise.