Hacker News new | comments | show | ask | jobs | submit login
My first year freelancing (alanhollis.com)
174 points by Alan01252 on May 15, 2013 | hide | past | web | favorite | 64 comments



It's good to do the exercise of doubling your salary and backing it out to an hourly to figure out what your cost floor is, but it's easy to show how this still gets you an under-the-market result: consulting companies can pay market salaries, handle 70-80% utilization, and still have strong margins.

The "correct" way to work out your rates is to raise them until you drop down to a target utilization rate by shedding the clients who don't value your work. It's awfully hard to do this in practice, but it gives you an idea of what you're aiming for.

As always, let me remind you: don't bill hourly. You are not a furniture mover.


>don't bill hourly

I hear this a lot, but I'm not sure how to implement it. Some people have suggested that freelancers ought to bill for the entire project, but in doing so you run the risk of losing money by underestimating the amount of work and time involved. Some have also suggested billing daily instead of hourly, but if the client expects a "day" to mean "8 hours", how is that any different than just billing an hourly rate?

How do you handle your billing?


Without getting into a big long billing discussion, just change your minimum billable time from an hour to a day. If you spend less than a day working for your client, bill them the day anyways. Just make it clear up front that you bill in daily increments.

Serious clients won't even blink. Most of the people you work with at serious clients aren't even spending their own money, and so daily or weekly billing simplifies their lives anyways.


Or quote on deliverables providing estimates for development time, then charge quoted prices for those deliverables (fractionally based on progress if the customer is hours-focused). Be honest about this.

So if you estimate something at 40h @$100/h and get it half done in four hours, bill 20h. This is a two edged sword — estimate well. (Do charge for scope creep though.)

I give clients the option of being billed this way or by the hour. The argument for this option is fixed costs and at least some guarantee of satisfaction. They're also paying for results and not activity.


Everything in this comment would be fine if you just changed "hour" to "day". As it stands, though, you've needlessly complicated your pricing by making it too granular.


Thanks for the response. I'll have to give it a try. And I need to stop working for stingy clients...


If you quote by the day, you'll find far fewer, I suspect :)


Really depends on the clients. For individual entrepreneurs who "want an app", there's only so much you can charge, and half day increments just aren't going to happen. I take these clients because I like working with them, not because they make me wealthy.

When you go to daily vs hourly, you benefit for a couple reasons. One, the minium is now one day, not one hour. Two, often, a "day" involves your client screwing around while you wait. You get paid for that time now.

But really, the biggest difference is that clients that are willing to pay by the day do so because they have the money.

I've also had some good luck with small fixed price bids - $2-5k. If you work quickly, you can make a ridiculous hourly rate - but more so with clients who can afford to pay by the day.


By billing daily or weekly, you may not have to keep track of all the billable time or worry about not getting compensated for late night calls. Plus, you are not punishing yourself for getting the work done early :)


That sounds good from my end (as the freelancer), but won't the client be upset if they pay a day rate for what might end up being a half day's work? I guess the client would have no way of knowing this, but it still makes me feel uneasy.


You need to get out of the mindset of charging for your time. You are charging for the value you create - and time is just a crude approximation of that at best.

What if you gave a client two choices: fixed price for $1,000 or hourly at $100/hour with an estimate of 8-12 hours. They're on the fence, but opt for the fixed price deal. You luck out and knock the work out in 3 hours. Do you feel bad? No. You gave them $1000 worth of value.

Now what if they had chosen hourly? Now you get $300 in exchange for the $1000 of value you delivered. Don't do that.

No, what's going to piss them off is when you deliver $1000 of value, but take 20 hours to do it and charge them $2000. Your goal is to match the value you create with the money they pay. That's how you build lasting profitable relationships.

You're not charging for time. You're charging for software.


That is their problem and not yours. Establish a sane pricing system, communicate it to your client, and move on. I would (again) argue that hourly billing is almost never a sane system.


I've never had a client ask or complain about that, and the ones who would probably aren't clients you want, either.


There is a difference between cost and value. The client valued your ability to solve their problem as equal to your daily rate. It shouldn't matter if it took you 1 hour or 8 hours, they are paying for a result, not for you to punch a clock.


The client is not paying you for your hours. It really doesn't matter to them whether you take an hour or a day to do the job, as long as it gets done.


> As always, let me remind you: don't bill hourly. You are not a furniture mover.

This is some of the most valuable advice I've ever received. I have patio11 to thank for it!


Thomas got me to do it and later preach it. It's a virtuous cycle! (Also, charge more.)


Also bcrypt! And CISPA isn't as bad as they say it is! And neither is Wikipedia!


> As always, let me remind you: don't bill hourly.

This advice breaks down if you don't work an 8 hour day. Some days I want to only work 2 hours, other days I want to work 12 hours. My clients need to be fairly charged in both cases.

Seriously, one of the reasons I became a freelancer is because I think the ideal workweek is mostly 2-4 hour days. If you know how to code and aren't in massive debt, you can live the dream!


If you produce meaningful business value in 2~4 hours, just charge for the day. Butt in chair is not what they are buying from you. If they wanted cheap butt-hours you're already not cost competitive. Instead, deliver what they're asking for and don't worry them with irrelevant trivia like your fluctuating time-costs at different stages of the product cycle.


Totally agree on this. To put it another way, charge for product (value delivered) not process.


In all, I agree with billing at a daily rate. Personally I bill in half day increments for minor maintenance with smaller loyal clients and daily or even weekly for significant slices of work. A worthwhile client won't pay much attention to how things break down in smaller increments provided they know up front that there is a minimum block.

One of the healthy side effects is that you'll rarely end up with the "can you just quickly add x" requests, which can be far more time consuming.


>One of the healthy side effects is that you'll rarely end up with the "can you just quickly add x" requests

Up until now I've always billed by the hour, but this sentence alone has convinced me to switch over to daily. Those "10 minute" requests drive me absolutely insane. Even though that time is billable it takes a large toll on my mental well-being.


And really, that's the entire point: as a developer your effectiveness in smaller time increments is usually limited. Context switching has a cognitive cost that's generally paid in larger time chunks, so it makes sense to set your client expectations in those terms.

And regardless of the time it takes you to deliver something, they should be paying you in terms of the value they get from it.


What do you mean it's awfully hard to do? Psychologically?


Retainers are a great way to add security to what is ( or can be ) a pretty uncertain financial path, however they don’t come without risks. You have to make sure any retainer you agree to works for both you and the client. If the client is asking for 24/7 on call support you either need to refuse, or charge enough for this support that you could then afford another two of you to look after the customer.

The best solution I've found is to require a Good Faith Deposit. ( http://www.hackeress.com/goodfaith ) For this, charge ~ what you'd charge for 1 day of work, even if the client just wants to meet "for coffee". It's really hard to draw the line where the chitchat ends and the actual work / scope-framing / brainstorming begins. How many times have interviewers brought in or set up phone interviews with people they have zero intention of hiring, just to "pick their brains"? I ended up learning the hard way that this happens way too often. By the time I figured it out, I was out a lot of wasted time. (WePay and a couple other companies did this to me after my post here on HN awhile ago).

I call it a Good Faith deposit because even though non-contractual meetings of Good Faith should be the norm, they're _not_. Getting viciously screwed over as an employee and a contractor (and even as an interviewee) more than a couple times brings this harsh reality into focus. So I made a decision going forward: the ONLY kind of clients I want to team with are those willing to respect my time and experience enough to work with me in Good Faith.


It's a nice idea, especially if the client is an individual, but most corporate HR and accounting systems are not set up to pay this kind of deposit in advance of considerable paperwork.

I hope I'm wrong - counterexamples welcome.


Every accounting department (that is, every company big enough to have an accounting department) I've ever worked with wanted a contract number on my invoice. If you're not in the system, you aren't getting paid. And you're doing well to get net 30, let alone upfront. I don't think this would fly with my individual clients either.

Interesting thought, though. I've always considered the first few hours as part of the cost of sales. At some point you just stop and say, "we need a contact". Until then, it's marketing. Not saying that's the only or best way to do it, but it seems to be the usual way.


If you take a hard line with the purchasing department they will usually bend. Buying services isn't like buying commodities, they can't go to another supplier to buy Damon's time and they have to buy because that is their job.


Admittedly, I've never forced the issue. Maybe I should.


A better approach is to meet for an hour or two max, don't give any advice, simply gather information. Tell them up front that your proposal, with implementation details, costs $5,000 (or whatever). Then don't give them any recommendations except in the proposal. After they pay for the proposal, they can use it with any contractor… but in all the times I've used it, no one has ever hired anyone else but me.

This is itself a small gig/contract and the HR departments etc. are set up to pay for these things.

If people are "screwing you over" during interviews, you may need to zip your lips. Charging a fee before "meeting for coffee" is not a good solution… simply not giving away the milk for free, on the other hand, is.


Or, don't do this. Other professionals (accountants, lawyers) will happily meet with you for an hour or so and give advice without charging anything. Consider being like them.

It's not unfair to charge for a proposal (and the process that generates it), but it's unusual, and it creates a large risk that the client has to shoulder (if I don't like your proposal, then what? The proposal is most of what I have to go on for how good a fit you are in the first place!)

I wouldn't do business with a contractor that demanded payment for proposals. I say this as the operator of a business in which proposals are seriously expensive to generate. I wrote a large proposal last week after a series of phone meetings, and the proposal didn't generate any business. Oh well! That's life in the big leagues.


Worked for me, for big name clients like Ford, Pepsi, TBWA/Chiat Day, Bear Stearns, etc., as well as smaller ones. We really met for more than 2 hours, but after the initial contract was signed for the proposal. That includes lots of investigation time. My proposals included specific implementation details, milestones, and usually wireframes.

I was amused to find out that my architect/builder does the same -- I'm paying him $5,000 to dig holes, poke holes in things, survey, price materials, order samples, talk to craftsmen, deal with the planning board etc. and at the end if I decide I don't want to use those plans with him, I can use it to competitively price other architect/builders. But chances are very high I won't, because he's delivering exactly the level of detail and care I want to see.


Great blog post, and congratulations on your success so far.

My biggest problem so far with trying to work as a freelancer has been figuring out exactly what type of work I should be pursuing. I've got a pretty broad skill set, from back-end to front-end web programming in several languages, adequate graphic design skills, and experience with native mobile platforms. While having more skills is a good thing, I feel like it makes it more difficult to market myself successfully.

Has anyone else had this problem? Did you try to focus on one area that you liked the most? Did you pursue what seemed to be in greatest demand? Or did you find a way to successfully market yourself without limiting yourself to one type of work?


I was in the same situation. I can do back-end web programming, and some lower level things in C or mobile apps.

Right now, though, d3.js gives me 80% of my income. It's something I like, and I noticed a lot of demand, so I sort of happened naturally. Focusing in a single area has the advantage that you can become really efficient at it, much more than if you hop between completely different projects every two months.

I still have a bunch of side projects in every language under the sun, because that's what I like, and because the market won't stay the same forever, but focusing professionally on only one area (that you reasonably enjoy) for a time simplifies marketing a lot.


> Right now, though, d3.js gives me 80% of my income. It's something I like, and I noticed a lot of demand

Very interesting.

If you don't mind my asking, what kind of work are you typically doing with d3? Visualising what kind of data and for what purpose?


I mostly design small, self-contained visualizations for small businesses. The data I get and the level of "visualization design" I have to do depend a lot on the client.

I have worked among others with data on local traffic (congestion and travel times), interaction between players on a field during a game, computing performance, some internal manufacturing metrics. I think there's quite a few areas where people want dashboards that are both fancy looking and informative, either for their clients or for themselves.

Some people just have a vague notion of some data they somehow want to display, others have quite precise demands (typically: "I've seen this d3 example and I want the same with this and that specific interaction/effect added.")


Wilya, how do you find work for d3.js? What's the best way for a freelancer to market their experience in a relatively small open source library?


In my (very limited) experience I found that you should focus marketing yourself for what you do best. There'll be plenty of other stuff you can do for the same client once your foot is in the door.


Wow, this is exactly the same problem I have. I have an extremely broad skill set and often wonder how to market myself to give myself the most opportunities.


Great article. One thing I'm struggling with as a freelancer is finding clients - I'm based in a small town in New Zealand, so I'm a long way from the opportunities in the UK and USA. How do you track down and approach new clients (who are likely to be happy with your rate)?

I also feel like being in New Zealand hampers my ability to charge a higher rate. I don't know for sure, but I suspect that companies here are used to paying lower rates simply because there's less talent here than overseas.


It sounds trite, but have you tried contacting companies in the UK and USA?

If written communication between you and the client is strong, it's often an advantage to the client to have someone working out of sync with them. At the end of their day, they dump some stuff into $ISSUE_TRACKER_OF_CHOICE. When they get back the next morning, it's done.


No I haven't, but that brings me back to the first question - how do you research which companies to contact?


Try asking the ones you'd like to work with.


Get in touch with me, I am interested in talking. Details are on my profile.


It's harder to do, but you don't even need to be in same city. Build a strong portfolio, for us it's several good projects on Github and jobs will come by themselves.


I've never understood all the salary-to-hourly conversion formulas. In my experience, they are different markets and different kinds of workers. It sounds like this particular formula roughly equates a $100/hr contractor (working at fulltime) as a $100k/year employee. Other people say that you should take your salary (in thousands) and then double it to get your freelance hourly rate, but to me that seems ridiculous. $100/hr sounds great to a 50k employee, but 50k sounds laughable to a $100/hr contractor. Others say to take your salary (in thousands) and add 20% overhead, but that still seems pretty ridiculous.

At more senior levels, it seems swapped. Contractor rates seem to have a pretty strong resistance point around $120/hr (if you go by a recent hacker new survey), I think partly because if you go above that point, that's what agencies and consultancy firms and teams tend to charge. Meanwhile, salaries for the same general technical fields seem to go higher than that pretty easily. I'm seeing 130k - 150k pretty commonly in java enterprise positions, more when you figure in bonuses with big companies.

Seems like people at around that level would be well-served to switch to daily or weekly billing, but when you're working with larger companies or vendors, that's a pretty big switch for them. I've tried that approach with a Very Large company and was shut down pretty quickly.


$100/hour * 40 hours * 50 weeks (fulltime) is $200k, not $100k -- that's where the doubling comes from. (2000 billable hours, roughly.)

If you're doing freelance, you also have to cover downtime, business development, benefits, and all the stuff that a normal employer might cover, so you would probably be prudent to charge more than ($YourSalary/2000) per hour.


Hah, I can barely get clients to pay $50/hr an hour for Graphic Design and Web Design work let alone $100/hr. These formula conversions baffle me as well.


Not to be an asshole about it, but design work is not software engineering (which I assume the GP was talking about).


A potentially stupid but relevant question as I'm just getting my feet wet in the consulting arena: does discipline matter at all when it comes to this doubling/tripling of day job rate formula?


does discipline matter at all when it comes to this doubling/tripling of day job rate formula?

Yes, but you may find it is more favourable (sometimes much more favourable) not to let yourself be pigeonholed as a certain kind of worker at all. Where possible, I'd recommend presenting your offer in terms of value it generates for your client, the way another business would rather than the way an employee would. Angle for them to be interested in results and not in any particular skills or technologies you use to achieve those results, and you change the way the discussion is framed.

However, this advice comes with the caveat that presenting things that way isn't always possible. Many clients really are looking for a certain skill set to fit in with an existing team, and you can make decent, if usually unspectacular, money with that kind of gig too. In that case, ideally you want to offer a credible rate but one toward the high end of the spectrum for your market, which brings us back to "yes".


If by discipline you mean "type of work" then no, it doesn't matter. If by discipline you mean "self-discipline", ie. "how much time you actually spend working in a day" then it does matter, with the caveat that clients pay for results, not time-in-chair.


Sorry for the confusion. I meant the former, as in my case, search marketing (SEO/inbound marketing) vs. programming. Most people I know working full-time in search don't approach the salaries/rates that developers make and speaking broadly, I know a lot of skills translate better in consulting than others do.

That said: bottom line is that I should be charging a lot more than I am now. :)


What do you mean by discipline?


Programmer, artist, technical writer, etc.


If you're looking to start freelancing - keep in mind that you'll need some money in reserve as it can take quite a bit longer to be paid (i.e. if you do a month's work and bill at the end of it, you can't rely on them immediately paying that invoice).

From my experience, invoices that say "Payment due within 14 days" have a greater chance of being paid quickly than invoices that said "Payment due on receipt".

Also, the general rule of thumb is - if you're not sure you're charging the right amount, you're almost certainly undercharging.


>A lot of freelancing is being able to understand who a good client is and a bad client. We as developers are incredibly privileged right now, supply seems to be heavily out striping demand and therefore we can afford to be picky.

I suppose what you mean here is that supply of work is heavily outstripping demand for it, but a better way of saying that is demand for developers is heavily outstripping supply of them.


Totally agree on the price. There have been many of these types of posts on HN in the time I have been following it and all have said the same thing.


Yet a year ago despite having the charge more mantra instilled in me by this community I was still charging too little.

It wasn't until I realised that even very small companies could afford ( without hesitation ) the rate I was charging that I really started to raise my rate.

Anecdote:

A small company got in contact with me asking for one days help solving a few teething problems with their new e-commerce site. I was sceptical and so put my rate up thinking that would immediately put them off. It didn't, instead they'd stated at that price they'd prefer to pay for two days of my time and make sure everything they wanted was done properly.


The important part of that is that the OP says "This is the minimum rate you should charge per day."

You should actually charge as much as you can get away with, as much as people are willing to pay you.


Agreed. A friend of mine keeps raises his bidding price as he gets overloaded. If they pay the amount then great; if not it is better than saying "no" to potential business.


Some great advice in this post. I think the importance of staying in touch with colleagues cannot be overstated.

Your network is your greatest asset.


I am also freelancer but not so experienced. But my client love my work and They use to come back to me when ever they need help. Usually I don't charge my client as hourly rather the work I did.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: