Settings

Theme

My first year freelancing

alanhollis.com

174 points by Alan01252 13 years ago · 66 comments

Reader

tptacek 13 years ago

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.

  • effbott 13 years ago

    >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?

    • tptacek 13 years ago

      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.

      • podperson 13 years ago

        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.

        • tptacek 13 years ago

          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.

      • effbott 13 years ago

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

    • damoncali 13 years ago

      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.

    • abhigupta 13 years ago

      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 :)

      • effbott 13 years ago

        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.

        • damoncali 13 years ago

          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.

        • tptacek 13 years ago

          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.

        • msrpotus 13 years ago

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

        • chrsstrm 13 years ago

          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.

        • petervandijck 13 years ago

          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.

  • sneak 13 years ago

    > 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!

    • patio11 13 years ago

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

      • tptacek 13 years ago

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

  • ojiikun 13 years ago

    > 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!

    • patio11 13 years ago

      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.

      • podperson 13 years ago

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

  • enobrev 13 years ago

    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.

    • effbott 13 years ago

      >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.

      • saturdayplace 13 years ago

        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.

  • tome 13 years ago

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

shawnee_ 13 years ago

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.

  • auctiontheory 13 years ago

    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.

    • damoncali 13 years ago

      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.

      • tonyedgecombe 13 years ago

        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.

  • ahoyhere 13 years ago

    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.

    • tptacek 13 years ago

      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.

      • ahoyhere 13 years ago

        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.

akamaka 13 years ago

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?

  • Wilya 13 years ago

    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.

    • skwosh 13 years ago

      > 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?

      • Wilya 13 years ago

        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.")

        • asands 13 years ago

          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?

  • miloshadzic 13 years ago

    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.

  • aed 13 years ago

    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.

6twenty 13 years ago

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.

  • svmegatron 13 years ago

    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.

  • umami 13 years ago

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

  • pablasso 13 years ago

    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.

tunesmith 13 years ago

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.

  • gknoy 13 years ago

    $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.

  • nerveband 13 years ago

    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.

    • roel_v 13 years ago

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

bmac27 13 years ago

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?

  • Silhouette 13 years ago

    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".

  • napoleond 13 years ago

    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.

    • bmac27 13 years ago

      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. :)

  • karamazov 13 years ago

    What do you mean by discipline?

illdave 13 years ago

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.

SkyMarshal 13 years ago

>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.

scottshea 13 years ago

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.

  • Alan01252OP 13 years ago

    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.

  • a-priori 13 years ago

    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.

    • scottshea 13 years ago

      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.

timjahn 13 years ago

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.

justplay 13 years ago

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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection