Hacker News new | past | comments | ask | show | jobs | submit login
Quit My Job For Consulting: Two Months Later (stevekle.in)
157 points by stevenklein on Sept 24, 2012 | hide | past | favorite | 137 comments



Another item to consider is what a fair rate is.

Let's suppose that a full-time developer is paid $120K/year. (There are developers who get more, a lot who get less, but this gives us a nice round number to work with.)

When you add up benefits, taxes, office space, etc, the average employee costs 2x their salary. So that developer probably costs $240K/year.

You tend to work about 50 weeks per year, so that's about $4,800/week.

You work 5 days/week so that's $960/week.

After you get rid of lunch, discussing the weather, HN, etc, you're probably only putting in 6 hours of actual work per day, so that's $160/hour.

Therefore an employee who makes $120k/year is likely costing the employer $160/hour. As a contractor you have to bear those costs that employees do not. Plus you have to bear costs such as not getting paid for the time it takes to find more work.

Most people who contract do not charge enough. Perhaps after running through these sample numbers, you'll do the calculation for yourself and ask for a more realistic rate for what it costs for you to be a contractor.


It is valuable to consider the you-centric position on why you need to charge a lot, but also keep in mind why your client gets more valuable out of you, in such a fashion that they don't mind you charging much more than a FTE over the same interval:

+ They can keep you for exactly as long as they need you, and then let you go, with no hard feelings.

+ You don't require a 3 ~ 6 week spin-up period as you get used to e.g. how your new employer uses source control, the procedure for running acceptance tests, or the proper way to fill out requisition forms.

+ The search to find you took days, not months.

+ The interview(s) to bring you in takes one person minutes/hours rather than several people days.

+ The paperwork to bring you in takes minutes, not days.

+ There are some specialties where FTEs for that specialty are either a) extraordinarily expensive or b) unavailable for hire at essentially any price. The business might not be able to justify keeping one of them around for the year, if for no other reason than their salary would upset the apple cart with other employees, but might still get value out of tactical engagements.

+ Employers and employees have an expectation that employees will occasionally have issues which temporarily impair productivity and that this is just the nature of the beast. ("Dad is in-and-out of the hospital and I'm mentally checked out.", "Off to JavaOne this week.", "I'm pregnant, cya in a few months.", "We sprinted hard for the last six weeks and I'm in cooldown mode.", etc) Consultants sometimes have impaired productivity, too -- but employers don't have to pay for it, since consultants will typically attempt to avoid scheduling engagements during them.

* Consultants put up with a lot of things by charter which are socially awkward to ask of employees, for example, "We need you in Berlin the day after tomorrow."


In my opinion, the concept of paying per hour is one of the biggest fallacies in software development. I am salaried but I don't get paid based on hours worked, I have deliverables that I meet, its irrelevant how much time is spent on meeting those and is impossible to quantify because often the hardest problems are solved in my head when doing something else, could be when stepping out of the office to go for a walk or while on the commute home, etc. We are paid to use our brains and this does not correlate directly with the traditional concept of billing for time. Also,things I do outside of work often positively benefit me, such as working on a side project or reading a book about new programming styles / concepts, however this would never be considered to be "billable hours".

Its my goal to one day work on a per-project basis, I haven't quite figured out how to make a go of this yet, however I really think this is how most software should be done for anyone with a few years experience under their belt. Working software is valuable and if you can commit to something and deliver, the concept of time should be immaterial (outside of meeting a deadline)... its all about value delivered. By tying ourselves to hourly billing rates, I think software development as a profession is held back and part of the reason it may not be as well respected as it should be by "business" people. It takes standing up and proclaiming the value that you bring every now and then to make people realize this isn't an assembly line type of job and never will be.


I've recently been experimenting with this; it can be dangerous for you (read on) but if well managed it can be more flexible for both you and the client.

For a long time I've been playing around with how I charge; a few weeks ago we had a discussion r.e. hourly vs. daily rates (I prefer the former, as it works best for me).

But in the last ~2 months I've been working on ways to charge on a target basis. Or to put it another way; I agree a schedule with my client, and they pay as I reach each milestone.

This takes time almost entirely out of the negotiation.

It has other benefits too; for example it forces the client to work on a formal specification (as an engineer, this is crucial!) for a project.

I have flexibility on how I reach the goals we agree - I might give a deadline estimate (two weeks for milestone 1, a further week for milestone 2). Whether I do the work on a Monday, or part of Weds and Fri, is irrelevant to them. And so I have the flexibility to schedule all of my work as is convenient.

Internally I am figuring out that it requires X hours work for each milestone - but the client never sees this, they just see my quoted figure and the delivery date. But I have found that this way I can up my rates significantly - I suspect because clients are measuring cost in terms of deliverables, rather than hourly or daily rate.

I spent a lot of time working up my rate from £40/hr (three years ago) to £100/hr through various mechanisms. But I have struggled to breach that barrier for a while now. My ultimate aim is £200/hr (which, as a full-stack engineer with years of experience & happy clients, is what I think my time is worth). This new method is currently "testing" at around £120/hr and I am slowly increasing it, without issue so far.

This also helps for existing clients too; if you start working with someone at £40/hr it's hard to build your rate up significantly without putting them off [I lost a very solid client on the jump from £60 - £100]. But if clients don't know your rates, upping them by £10/hr will be much less visible, and they only have to judge whether the total cost is worth the outcome.

So, I think I would be happy in saying - your theory is sound, and seems to be working out for me in practice :)


Thanks for the reply, its encouraging that you have been able to keep growing your rate. I have only a few years experience but have crammed a lot into that time period so am hoping to get out more on my own going forward and the idea of being paid for milestones is appealing. I think its always hard to convince someone to pay you more when they have been paying you one rate. For me, there have even been situations where I was an contracted hourly rate employee, quit that position for a higher paying job and then they still asked me to do some side work at my old rate. In this industry, employers will almost always try to take advantage no matter what value you are creating so I think more developers need to learn the business side to get fair compensation.


When clients pay for value delivered rather than effort spent, they are willing to pay more because they have less risk and have no need to worry that you're padding your hours.


You should not bill per hour but, at the minimum, per day.

Better yet, you should give quotes for the whole project, regardless of time spent. If you spend less time than anticipated, good for you; if you spend more time than anticipated, you bear the cost.

But here's the thing: most clients have NO IDEA how much work goes into a specific task. If you bill by the hour, they will want their money's worth of your time. If however your quotes are for the whole project, the only relevant metric becomes "is the project done?"

For this to work, the project has to be specified with a reasonable amount of precision that allows one to check at the end whether it's done or not; but this extra work of specification pays off big time -- even, I might add, if you have to do it yourself for free, as part of the sales process.


But aren't most interesting problems impossible to specify, in a detailed way, up front?


This kind of lump sum contracting isn't usually called consulting and is pretty hard to do well unless you have really good chemistry with your client.


I believe the reason people bill at a significantly lower rate than they should is that they're worried that the difference will mean less work; I know that fear drove my prices down when I was doing freelance stuff heavily a few years back. At this point I know what my time is actually worth and bill at that rate, but it's taken me years to feel comfortable doing that. Channeling patio11 here: you should be charging more.


To reiterate what patio11 just said, focus less on reverse engineering your former salary into an equivalent "rate" - figure out the business value you're delivering to your clients and price accordingly.


The rate structure 'btilly outlined --- the cost-based price for your services --- is very important to know, even though it's rarely the rate you want to be quoting clients. He's right: lots of contractors, maybe even more than half of them! are delivering below their true cost, and are losing money compared to a full-time job.


Exactly. Your cost is a floor, not a ceiling.


I've worked as a Software consultant for a small company known for quality work and I can confirm your numbers. I've been billed for up to 230$/h, however this is Switzerland - on US price levels it should add up with your calculation pretty well.


That's a healthy rate. I guess the company takes a cut as well.


Yeah, most people don't bill enough to cover the cost. Remember you are paying your own medical, social security (both employee and employer portions), insurances (professional, worker comp, life), retirement, office, utility, etc.

A rough rule of thumb is to charge 2X of what you would be paid as an employee.


A rough rule of thumb is to charge 2X of what you would be paid as an employee.

That's a common rule of thumb, but I suggest that it's not a good mindset if you're interested in making what you're really worth as a freelancer.

One of the most fundamental differences when you're negotiating with a client as another business rather than as a prospective employee is that your arrangement will be a business to business one. Like any other such arrangement, it pays to price based on what your contribution is worth to the client, which will ideally be much more than what it costs you to provide it.


It shouldn't be your target price, but it's useful to keep in mind as your "cost" level. Below this, you're actively loosing money (over a regular job) and at that price point, there's no financial upside to compensate you for the downsides (risk, uncertainly, stress) of consulting.


As someone who has run a consultancy and employed consulting staff my rough rule of thumb is 3x total employment cost: one third for the employee, one third for the company, and one third for profits.


Thank you for your analysis. Just a typo: $960 per day not per week.


This is why it's worth contracting (ie: onsite with the client, paid by the day) rather than freelancing.


>> "Book Clients Playing With House Money"

This is good advice. I've found that this and working with solo people paying out-of-pocket works fine (providing you get some assurance of payment - I usually get 50% up front). The worst clients I've experienced tend to be people who run a business with 5-10 employees but still have enough time to work with you directly. I work with these types of businesses least but in 3 years of freelance work I've had 3 screw me over.

Here's why I think it happens.

People 'playing with house money' will pay whatever it takes to get the job done because they are removed from the money - it isn't theirs.

Solo people who want work done (usually a website or app idea) want a completed product after paying you half up front. They don't want to bail because they want something to show for their money. They probably can't afford to lose the 50% and get someone else.

The small businesses I mentioned can afford to lose the 50% they pay up front (unlike the solo people). So if what you are doing doesn't meet their exact (constantly evolving) standards they are happy to kill the project. I've found these people constantly make changes to what they want and add extra features (which of course, they say 'just add to the bill'). I try my best to avoid these clients now.


Another reason to play with "house money" is how most corporate budgets work.

Yes, the money isn't "theirs"--they don't open up their own wallet to pay you--but they also NEED TO SPEND their budget. A budget that isn't spent at the end of the quarter/year/whatever simply vanishes, and it's actually harder for that person to request a same-size budget next time (they will be asked why they need the money if they didn't even use it all the last time around).


People who use "house money" are good clients because their job is to get the project done so it looks good on their portfolio. The house money is just a tool for them to get things done. As long as you deliver, they would love you.


If you have one, work at your local public library instead of a coffee shop. Even though they're usually nice about it, coffee shops don't really want you there, unless they're not doing a lot of business; they're driven by turnover. Your library, on the other hand, needs you there; your usage of the library justifies their budget. I found our Oak Park library to be a better work space than the coffee shop anyways.


Plus there are some truly amazing library interiors. The state library of NSW is one that springs to mind. A really uplifting setting.

[large-ish image, but doesn't do it justice] http://upload.wikimedia.org/wikipedia/commons/d/da/Mitchell_...


Definitely! When I still lived in NYC, I would make an effort to spend time working at the Rose Reading Room at the New York Public Library whenever I could.

[another larg-ish image, likewise you need to see for yourself] http://upload.wikimedia.org/wikipedia/commons/0/02/NYC_Publi...


Wow, awesome. How could you not write/create something beautiful working there.


on the contrary, i've had a coffee shop owner tell me to come and stay as long as i want for one simple reason. more people at a coffee shop is validation for the passers-by that have no context for the value of said coffee shop. lot of people being there is the only data point they'll get.


I do two things at coffee shops: - go outside the busy times (ie morning and lunch trade peak times). - Tell the owner that if they need the table then to let me know and I dont have any problem moving at all since i know I'm only going to be drinking a few coffees.


But libraries don't let you bring coffee in.


Ours did.


Why would you want to work from the library or coffee shop instead of working from home?


> Why would you want to work from the library or coffee shop instead of working from home?

Some people don't have an established work-space in their home. For many, trying to work in the same place you relax and/or play computer games usually results in an inability to focus.

Even if I did have an established work-space, I'd still have trouble concentrating.


How hard is it to find a library with WiFi? Or are consultants expected to have 3G?


I'm not a consultant, so I wouldn't know about 3G expectations. With that being said, in my state (MD), it's not difficult at all to find a library with WiFi.

My reply was offered as an explanation to: "Why would you want to work from the library or coffee shop instead of working from home?"


Some advice: Get some clients before you do this. I tried to go contractor after my last job and didn't make any money as I spent most of my first month getting a client, and the second month finalizing the details and working on the project. Two months for $2500 isn't much if it's your only client.

The trouble I encountered was working as a web dev at a marketing agency before. They were strict about working for "potential clients", which meant anybody with money...

My advice: Get at least 5 projects lined up for the foreseeable future (next 3 or 4 months) and also save up about six months of money for bills and your normal expenditures minus savings.

This will help you invest in a business for at least, 8 to 12 months, working with 5 or 6 projects and tiding your other 6 months with savings will be the worst case scenario. Best case you find more clients and don't even get to touching that money.


Going on 7 years as an independent now doing only corp-to-corp contracts. Full-stack dev. is a necessity. I enjoy it b/c I tend to get bored, so I move project to project and pick up new tech, learn it, build it, and then move on to something different.

I worked from home for the longest time, and it can be a lonely endeavor. The best mix I've found is home 75% and 25% on site. You get to interact with real humans once in a while, but go back to no distractions.

Friendly tip: If you have small children, forget it. Get an office space.

Also: Get a good accountant -- pay yourself a reasonable wage and take the rest in distributions at the end of the year in a tax-deferred retirement account. I aim to retire at 55; so far, I am on target.


(offtopic) What do people mean by a 'Full-stack developer', surely, they don't mean a Full-(computer)stack developer: someone that knows a hardware specification language to machine language to assembler to C to a higher-level language, then SQL and Javascript, Ethernet, IP, TCP etc but I suspect they do. I'm not against the terminology, keep using it if you think that applies to you.


Yes -- in a sense, what people also term "generalizing specialist". Someone who may not necessarily be an expert in technology Y, but they can be very effective in it. If I don't know it: I learn it, and fast...and while I'm studying it, and reading every god-awful book / resource I can find on it, I don't charge the client.

This is necessary b/c unless you have a dedicated team of people -- each who is good at a respective thing, you -- as a consultant, will just be expected to get it done...quickly, and with high quality.

You can do consulting in your own comfort niche. I choose not to do that.


While I believe you could use all of these technologies when they have been abstracted away into APIs / programming languages etc, I have a hard time believing anybody could understand these technologies to the point of creating abstractions which is what is meant when one says they 'develop in assembly': you expect them to know stuff that, C, for example, abstracts away.


Do you have a personal 401k setup? I only have a IRA, and the contribution limit kills me. Curious if anyone has setup a 401k for themselves, and the overhead associated.


Yes, I have a Keogh profit sharing plan http://money.cnn.com/retirement/guide/selfemployment_keoghs.... http://en.wikipedia.org/wiki/Keogh_Plan -- admittedly, I'm not a wizard in the financial stuff. My wife is a CPA/CFP, so she manages it. That's where a good accountant can help :)


One of my suggestions: sub-contract with one or more web development "house". I've been consulting for 15 years -- and it is one of my favorite ways to work. They do all the work of collecting requirements, billing the client, etc. -- and I get a checklist of items that I sit down and work against, often with a distributed team. Do good work and these places will keep you busy, especially when they are overloaded with work for their in-house teams.


Subcontracting is expensive. All the work of receivables and project management adds up to a premium on your rate. If you're contracting just so you can maintain a decent income while working on an arbitrary schedule, that can be fine; it's also not a bad thing to keep relationships open so you can sub to fill in the gaps.


How do you find these web development "houses"? Seems like a really sweet gig, all the fun stuff without the chasing dead beats for money hassle.


I run a shop in Los Angeles. We focus on product / UI / ux work and also do mobile and web development. Feel free to contact me if you're interested.


Try contacting your local development agencies just making yourself known. They usually need freelancers on hand for when things get too busy, and they are great pay. Agencies tend to stick to local freelancers when they can, plus you get the advantage of possibly being able to go and work in their office occasionally.


You added no additional information; saying agencies instead of houses is not helpful information.


I think his answer was more or less in the "contact local agencies part".

To add some color, it's likely there are already design/development shops in your city if you live somewhere with any kind of technology presence. If you don't know of any, go to local meetups in the web space and ask around about which ones are local to you.

As was previously mentioned, many development shops subcontract out work to local developers. Talking to them at meetups or sending an email letting them know you're interested in working with them is a great way to kick off a conversation that could lead to you working with them.


I know what his answers was, it was exactly the same as the statement that prompted that guy to ask the question in the first place. It was useless. As is this thread now.


Oh and I suppose your comment adds a wealth of information? If you can't find any value in my comment, either ignore it or downvote it. Don't go around insulting people, you add absolutely no value to this discussion.

Steven was right, the point I was making a point that I've found contacting local agencies/houses to be most successful, probably due to the fact it's easy to meet face-to-face and go in to their offices when they really need the extra help.


Maybe this will help:

1: Open a web browser (look for a blue E icon, or a red/yellow/green circle, or an orange fox circling a globe)

2: In the address bar, type "www.google.com" without the quotes and press enter.

3: In the search bar of the page that appears, type "CITY web development" again without quotes and substituting the city you live in for CITY.


I didn't ask the question, maybe you should learn to read. I merely commented on the uselessness of his answer which did nothing but rephrase the statement the question was about while adding nothing of use.


You would never tell someone to "learn to read" in face-to-face conversation, so you shouldn't here. Equally importantly: the comments you're replying to are productive; they are the actual answer to the question posed.


If someone told me to use google the way he did, yes I would tell him that in real life, except I'd say open your ears and stop being a duche. And no, the comment was not productive as it had nothing to do with my comment that he was replying to. It may have been productive as a reply to the guy who asked the question, but that wasn't me.


Be very careful with this. Web dev companies are NOT playing with house money. Everything they don't spend on you, they get to keep. They tend to be the most likely to argue billables at the minute level, and they always want concessions (like a lower rate or some free time). In my experience it's a false economy.


Nice post! I've been thinking about this a lot and glad you wrote about it. I appreciate you sharing your experiences.

I completely agree with breaking up your time into blocks. I try to keep my schedule to 4 hours in the morning of heads down coding (9a - 1p), 4 hours in the afternoon of heads down coding (130p - 530p) and 3 or so again at night (8-11/12).

The other time is for me to do tasks which are relevant to coding but not actually coding, significant other time, or whatever I need to get done so I can think straight during those coding sessions.

I don't answer email while coding, or give in to other distractions. The reason being that I have scheduled time for that and its coming up soon. Anyways, back 2 work ;)


Are you saying that you actually do 11 hours of coding per day plus a few more hours of other work?

It sounds insane to me. Do you work on week-ends too?


I code about 8hrs / day.

Weekends are mine.


I've found that if you charge a day rate and deliver the things you promise, clients will never worry about time. You still need to have the discipline to get things done, but it takes the pressure off making sure you are billable for a certain number of hours.


This! I consider it a professional obligation to yell at people who default to hourly billing. Other good things come from day and week rates besides not having to track time; for instance, it incentivizes you to find faster ways to deliver the same work, and makes it easier for you to negotiate scope/price without taking a rate hit.


Daily billing is definitely the way to go. It is a great way to manage risk for both parties versus fixed-price (potential for abuse from the client's end) or hourly (potential for abuse* from the professional's end). Once you have a good idea of what you can complete in a day you can gather requirements and break them up into days resulting in more accurate scopes to work with.

From my experience it seems everyone is happy (especially if you throw in daily invoicing). It's easy to avoid deadbeat clients this way and you have more consistent cash flow this way. If not consistent then at the very least it is predictable since you can see how far into the future you can book days.

*: The abuse referred to here is for clients to keep requesting changes when they pay fixed-price. They are of the mentality that it is unlimited changes, and it is often difficult to draw the line on what is a billable change with this approach. Hourly can result in a professional delaying things to rack up hours.


I'm interested in doing something similar myself. If the HN hivemind could help out, I have a few questions:

1 - How important is it to have some sort of public profile (eg, High ranking StackOverflow account, Github account, well trafficked blog) or public portfolio? I've done lots of good work as an employee but almost all of it is on internal corporate networks.

2 - Where do you find the all important first few customers? Should I be going to every local users group I can find and handing out business cards? Or hitting up sites like http://www.guru.com/ ? What worked for people?

3 - What size jobs are feasible? I would like to start this on a part time basis while still working my day job. Is it possible to find jobs small enough to keep me working 1 or 2 days a week?


1 - Nobody has ever asked if I have a GitHub or StackOverflow account. This might be different for high-priced jobs, but for everything I've done it's never come up. Normally a quick email exchange or phone call has been enough.

2 - I found my first client on oDesk, and they referred me to just about everyone else. I haven't used it since, and it's thoroughly depressing to look at how low pay the jobs are. Posting in the HN freelancer topic, and posting an ad on /r/forhire is another good way to get clients.

3 - Whatever you want - there are tonnes of people that need software building (and plenty that don't even realise it). Just remember that a few hours of time can quickly get eaten by emails, phone calls, "can you just check this", bathroom breaks, leg stretching, quick drinks etc. It takes a while to get in a good rhythm.


This is all in fact why I went back to working at (smallish) companies after trying solo gigs out. Other bennies:

1) Coworkers to chat tech with/enjoyable rapport/shared nerd-citement

2) Far clearer separation between workspace and playspace, which is really just a catalyst to get your brain in the right place (similar to one popular argument for wearing suits), but whatever works

3) Better bennies (U.S. healthcare scheme, I hate you, even if I also like not paying 50% of my income to tax)

4) People available to fill your gaps in knowledge or weaknesses

5) The fun of mentoring/helping others

6) More likely to travel for work now and then, which is kind of fun

7) Being at home day-in and day-out got me depressed. In my region on earth we have changing weather and it is not always feasible to get outside.

In short, people work for companies for a reason and that reason is not always "i live paycheck to paycheck and have no other option"


I agree, freelance development is a lot of overhead. Plus, once your freelance business really gets moving, you end up with 1 or 2 primary clients for all of your work. Eventually, you ditch the other client to focus on the bigger paying one, and what do you end up with? Working projects for a single client, which is the same as an employee, but minus the benefits. And this seems to be the end-goal for most freelance developers, a single stable client, providing enough work to take up 100% of their 9-5 time.


  >> end up with 1 or 2 primary clients for all of your work
This can work out much better than being an employee, particularly if you have a spouse that gets health benefits.


The series of posts is great stuff so far. I've long been curious about freelancing, both in considering it for myself during certain phases of my career and in wanting to hire independent folks in the near future.

I've so many questions I'd love to ask an experienced freelancer:

- Who actually writes the contracts, you or the buyer?

- What does a sample contract look like?

- Do you use a résumé or something more like a sell sheet when approaching buyers?

- In what city are you working?

- Big biz vs. startups?

- What is your on-site vs. remote work ratio?


contract

"Send me your standard contract or the company I consult through has an MSA and we'll attach my mini-proposal as a SOW."

sample contract

Varies widely based on your locality. In Japan it's literally shorter than this post is. In the US most of the ones I've seen are 2~3 pages long and most explicit about IP assignment, for the obvious reason.

resume

I'm sufficiently well-known to decisionmakers at my clients that the conversation is generally more about what I can do for them than where I went to school or what the exact name of my previous employers were.

city

I live in Ogaki but work across Japan, the US, and (very occasionally) Europe.

big biz vs. startups

Software companies with $10 to $50 million in revenue is sort of the sweet spot for me: ability to pay like megacorps, agility/relative-lack-of-process-BS akin to startups.

on-site or remote

First engagements are probably 90% on-site, existing relationships closer to 50/50.


Thanks in particular for this! A perspective from Japan can be hard to come by and (as others will observe) tends to be different than elsewhere.


(1) You should have a standard contracting agreement (your MSA or "master") and a template statement of work (SOW). You'll tend to negotiate the master and you'll tend to keep technical details out of it; the SOW will be very simple and will list the work you're doing, the price, and (if you're a developer) the acceptance criteria for your project. You'll pay a lawyer to eyeball these at some point, but lots of people use boilerplate contracts they pull off the Internet. Each client will have one master and potentially many SOWs.

(1a) With that said, when the the client pushes back on using your MSA (2 out of 3 bigcos will), bite the bullet and use theirs, because you will rarely win that fight. You need a lawyer to review these.

(1b) You're not negotiating or reviewing contracts until you have the "verbal" commit that you won the gig. It's called a "verbal" because the "written" is the contract negotiation, which you wouldn't waste the money on unless you won the gig, so you need a verbal.

(2) Grab one off the Internet. Generally, for your benefit, the master will specify a term, a venue (disputes resolved in your state), compensation terms (net-30, etc) though note that the master will usually refer to a SOW for the actual price, and limits to your liability. For the benefit of the client, the contract will make it crystal clear that you are 1000% a contractor and not not not a full time employee I say it again not, assign all intellectual property generated during the engagement to the client, and possibly require you to maintain professional liability insurance.

(3) You write a proposal. The proposal usually has bios at the end of it. A bio is like a less formal version of a resume.

(4) Chicago, NYC, and San Francisco, plus all over the country.

(5) Wide mix 'o both.

(6) Something in the neighborhood of 40/60?


(2) Grab one off the Internet.

I just want to emphasize, for the benefit of anyone new to contract work, that even a reasonably well drafted contract you find on-line is probably only worth starting with if it was designed with your particular jurisdiction in mind. The rules on tax, employment status, liability, intellectual property and many other factors vary widely from place to place.

For example, Thomas mentioned being clear that you are not a full-time employee. That's a very important point, but here in the UK, merely saying "I am a freelance contractor and not an employee" in your contract will be worth about the paper it's printed on if HMRC start investigating whether you are caught by IR35. There are all kinds of rules and precedents that will override such a statement, and paying for 15 minutes with an accountant or lawyer who knows them could save you thousands of pounds and avoid the stress and inconvenience of a lengthy tax investigation.


The number of things that protect the contractor in a standard consulting agreement are small relative to the number of things that protect the client; for instance, the "contractor status" clauses in the contract don't do much for the consultant, but they protect the client from frivolous claims that the consultant was actually an employee entitled to overtime and tax payments.

It is very important that clients use a carefully reviewed consulting contract for reasons like this.

It is pretty important that consultants get client paper reviewed before they sign it; we've seen some scary things in client MSAs.

It is probably not all that important that consultants optimize their starting-point MSAs, at least in the US.


The number of things that protect the contractor in a standard consulting agreement are small relative to the number of things that protect the client; for instance, the "contractor status" clauses in the contract don't do much for the consultant, but they protect the client from frivolous claims that the consultant was actually an employee entitled to overtime and tax payments.

Ah, but this is exactly what I'm talking about with regional differences. Here in England, getting the contractual terms that affect employment status correct is extremely important for the contractor/consultant as well, and "terms that affect status" can potentially include almost anything depending on context.

If you don't, and consequently HMRC decide that you are a disguised employee under the IR35 rules, then you can be stung by the worst of both worlds: none of the perks of being an employee but all of the tax liability. To add insult to injury, your client is likely to get dinged for employer's NI as well at that point, so I suppose in that sense you're right that these terms are partly there to protect the client as well.

In case you're not aware, IR35 is a controversial set of rules that in principle stops people who really are working as employees from dodging certain taxes by claiming to be freelance contractors instead. The trouble is, the rules are notoriously vague and significant numbers of people who really are working as freelancers in a meaningful way also potentially fall within their scope. The Professional Contractors Group, which now has many thousands of members, was originally founded just to oppose that particular set of rules. These days, successful IR35 cases seem to be about as rare as unicorns, but that's partly because every legitimate freelancer with half a brain does take advice on how to structure their agreements to make their status as clear as possible.

Not that any of this negates your other point that you should certainly have any agreement proposed by a client properly reviewed, of course. I'm just trying to point out that even the most basic assumptions about who different clauses are there for don't necessarily hold from one jurisdiction to another. That might be obvious to you and me, but to someone reading this discussion who's thinking of going freelance for the first time, everything is a learning curve.


(Mildly offtopic, but replying to my own thread, so TIOLI.)

Just reading this makes me wonder how any person on this planet ever manages to successfully exchange work for pay. How did we get to a place where governments go on and on about "creating jobs" but it takes a double major in law and finance to legally work anywhere anymore?

</rant>


That's a totally fair point. As soon as you're operating as a business and not an employee, you're typically subject to most/all of the same regulations and lack of personal/employee safeguards as any other business, even if you're just a one-man operation. You can risk setting out without knowing the number of a good lawyer and a good accountant, but personally I'd never advise anyone to do that.

The one positive thing I will say on this point is that once you've been through the major formalities the first time (setting up a legal company entity, getting your first contract written and signed, filing a year's worth of whatever tax records you need in your area, any other annual paperwork like the Companies House filing in the UK), it's usually not as bad as it sounds. The first year or so is quite a learning curve, but as long as you're reasonably organised, habitually keep accurate records, and are willing to pay for a modest amount of professional help from people whose job is to stay up-to-date on technicalities and recent changes so you don't have to, the overheads are rarely more than a half-day a month, at least here in the UK. It requires diligence, but not a PhD in rocket science.


I cannot speak for the UK (I've never done business there) but becoming a freelancer in the US is very easy. You can incorporate effectively online for a few hundred dollars, and in your first year, if you don't have the revenue to justify an accountant, you can do all the tax prep you'll need online. Again, in the US, most of the stuff in consulting agreements protects the client, not the consultant.


* I have a standard MSA that each client signs. Each project gets a separate statement of work.

* If you have subs, include provisions that your clients won't hire them behind your back. Make sure that it's clear that they own the IP once they're paid in full. Payment terms.

* I haven't had a resume in years, my sales strategy: referral or chance meeting (business mixer, etc.) -> conversation -> contract.

* Chesapeake, VA. A bedroom community with virtually no technology scene.

* I used to do work for a lot of funded startups out of SF/NY. I now only work for profitable small businesses (I need to be sure that the work I do will end up making the client more money than they spent.)

* 100% remote


Gentle plug:

bdunn will be presenting on his book "double your freelancing rate" at the upcoming http://indieconf.com in Raleigh, Nov 17.


Just to give one perspective:

Who actually writes the contracts, you or the buyer? What does a sample contract look like?

I joined a professional group that provides a variety of useful services, including starting points for common legal documents written by actual lawyers with actually informed notes about using them. So far I've not had a problem getting any clients to sign some usually simple variation of one of those documents. No-one has ever offered me a contract they'd written themselves; that sort of thing usually happens on larger scale projects than individual freelance/consultancy work.

Do you use a résumé or something more like a sell sheet when approaching buyers?

Ideally, neither. The best leads often come word-of-mouth via friends/colleagues in the early days, and then via referrals from former clients later as you build up a track record.

In what city are you working?

I'm based in Cambridge, UK. Some clients are too, others are further away, but all UK-based in my case.

Big biz vs. startups?

Ideally neither, if you're just starting out and going into freelancing alone.

Big biz is full of overheads and is notoriously bad at paying on time, and you won't be in a position to take advantage of the other side where big biz has big budgets available if you get to the right people and present what you offer in the right way. Your mileage may vary, but realistically it probably won't for quite a long time, unless you have some really compelling advantage that most people don't before you turn freelance.

Startups have the opposite problem. There is a much higher risk than average of working with people who lack professional experience and have wildly unrealistic expectations, who have relatively little budget to spend and therefore penny pinch at every opportunity, or who want you to put in the same kid of effort as they do when they own the business and you're just a freelancer who can be dumped in the time it takes to write a letter.

Obviously those are stereotypes, but if I were you, I would aim for the safer middle ground until you've learned how the game works. There are plenty of small/mid-size businesses who are established enough to have sensible money available but not big enough to have dedicated in-house people for everything. If you can get a few decent clients like that and do good work for them, you have a fair chance of repeat business and/or referrals that brings some financial security. If you keep your ear to the ground, you'll also start to figure out where you can really contribute something valuable, which in turn you'll be able to charge for at rates they consider fair even if they're way above what you thought you were "worth" because you took your old salary and multiplied it by 2.

What is your on-site vs. remote work ratio?

I work exclusively at my own facilities day to day, though I'm happy to make visit clients for meetings, presentations, on-site testing, or other useful activities that work better if everyone's in the same place.

This has a number of major advantages, including not getting dragged into areas outside my role or, heaven forbid, the politics in your client's organisation. Another big advantage is being able to take on multiple projects concurrently, which can be very useful if they are useful projects but no one project consistently provides the equivalent of full-time work. And of course, you get complete freedom in choosing how to set up your working environment, tools, usually working hours, and so on, which is a huge win for work/life balance and was my #1 reason for going freelance originally.


Good stuff Steve. My last day at microsoft is october 19th and i'll being doing similar. Splitting my time between my existing projects that currently bring in some revenue, working part time as the software architect for greatnonprofits.org and spending the rest of the time consulting.


Good luck!


8 billable hours a day? Jesus, that's lawyer hours.

Try for 5.5-6.5.


Yeah, 8 hours is only possible for short stretches on long term secure contracts. And usually that means lower fees. You need a certain amount of time for admin, marketing and maintenance work.

From previous experience, 80% productive time is considered high-acceptable and 60% is getting to the low end. Depends on your role as well.

Also as a general rule, cost multipliers are important. Standard multiplier of 2.3x of costs (then margin on top) seems to work out about right - longer term / safe / secure projects can go a little lower if you know we can bill consistently, a higher multiplier if the work is less certain / short term.


Again, you can avoid this whole unproductive discussion by simply charging a day rate.


I love the idea of day rate, it means so much less stress as consultant. But what if, the client can afford only lets say 20 hours per week of time?

I am having somewhat of hard time working with clients who do not want fulltime though because:

a. Even though they pay only 20 hours of my time, they assume 100% availability. b. It gets awkward with them when they suddenly want to increase the hours but I have already committed my remaining hours elsewhere.


>a. Even though they pay only 20 hours of my time, they assume 100% availability. b. It gets awkward with them when they suddenly want to increase the hours but I have already committed my remaining hours elsewhere.

You need what's called a retainer agreement. It will specify an exact amount of time they have to pay you for every X, as well as specify availability and charge for it. It will literally specify what availability you have to give them, and how much they are paying, specifically for that availability, and that you are working for other clients and will not necessarily be able to change the terms of the agreement without several weeks/months notice.

(Additionally, retainers are often paid in advance, not arrears :oD, and charged wether they have work for you to do or not)


They can choose to pay for 2 days, or 3 days - it's either 4 hours more, or 4 hours less for them, it's not going to break the bank financially either way.

If you can find a client who only wants you for 2 hours a week, would you take it? I wouldn't.


Well I want a pony, ain't gonna happen. Welcome to the Real World, kid. They want infinite flexibility, I'm sure you can charge for that.


So would you say that the day rate would be the same as an 8 hour slab ? Or would you charge for only 5 hours.. or how does this work ?

I'm curious on how to do a fair calculation on this because, to be honest, I do spend a lot of time (that can't be calculated) thinking about the problem at hand, etc.


If you work on a day, you charge for that day. It is that simple. Work five hours? Charge for a day. Eight? A day. Eleven? It isn't your company and you only owe them eight, do I would avoid making a habit of that, but it is one day. Spend half the day thinking and half doing? Charge for the day. Spend six hours waiting for decision maker to get in for the meeting? Charge for a day.


And for the benefit of the class: nobody you want to be working for cares at all about how many hours you spend a project. All they care about is (a) the outcome and (b) that the outcome happens on the schedule you predicted.

Anybody who is thinking about how many hours you spent "thinking", "noodling", "coding", "typing", "documenting", "eating lunch", "reading web comics", or "posting on HN" is a client you need to avoid.


It's for adults- perhaps a paper route is more your speed.


Plenty of adults choose to work hours over quality. Lawyers fit in this, and that's largely because a lot of their work is billed suspiciously, a lot of their work is very low status (so while highly paid, they have to work around client schedules), and because a lot of their work is dull as hell.

If you're constantly pulling 60 hour weeks (about what you have to pull to bill 40 honestly), you're likely delivering what I am pulling 35-45 hour weeks, billing 25-35, but at a higher cost to your family/health/rest of your life.

That's not adult. That's slavishly burning yourself out in your early years.

Study: http://www.hcgexperts.com/scheduled-overtime-effect-on-const...


As Thomas and Patrick frequently say, and I wholeheartedly support, do your work in increments of weeks, not hours. Things will go much better.


You'll only have trouble with unbillable hours if you, well, bill by the hour.


Even if you bill by the day, that is still a certain number of hours to you.

What he is talking about is how difficult it is to work enough "hours" when you are contracting. If you work for a company they pay you to be at your desk 9-5, sure. But in that environment 10 minutes talking to a co-worker as you get a coffee, 15 minutes trying to get the damn printer to work, 5 minutes dashing up to the next floor because the toilet on this one is busted... doesn't matter that much.

When you work as a contractor targets are much more immediate - and if you don't get a days work done on a project that starts to pile up. It's crazy how little things can stack up; I didn't get "enough" done today, really, because the coffee machine in my kitchen was playing silly buggers first thing, and I got distracted fixing it (I know...). That took half an hour off my day and meant I had to try and make it up this evening... but with one thing and another...


I imagine it takes some time to learn to properly estimate how much to charge for a project. Until then, billing by the hour is a way to build heuristics.


No it doesn't. You simply say "I charge in 1 day increments", and the hourly-billing problem goes away. When you come to the day at the end of the project where you only use 4 hours, you have a very complicated logistical conundrum that after careful analysis and financial modeling you solve by billing the full day because you charge in 1 day increments.


When you said "No it doesn't", were you responding to my statement that "I imagine it takes some time to learn to properly estimate how much to charge for a project"? Yes, it does. However, your charge-by-the-day method is a great workaround! I'm glad you mentioned it.


So Thomas, you always bill like that?

I guess I will have to try it. The Southern African market may not respond to it so I will have to think of the upsell.


We tend towards fixed-price contracts. We don't bill hourly ever.


We're still just starting out and estimating time is always a bit nerve racking. I'm hoping it gets easier as time goes on.


completely agree, I recently switched to billing by the day for new work and so far it's been a lot easier and my clients seem happier. How often do you really get a task that can be completed in less than half a day (and if it could, couldn't it be lumped together with other smaller tasks that together would take at least half a day)? Billing by the day, or at the minimum half day means I have at least that amount of time to dedicate to a client without jumping between tasks and getting distracted. I still break down projects and estimate tasks in hours, but when presenting estimates for projects as a whole, I just use days. It's more meaningful for clients and it's better for me.


For a day of work, do you charge your hourly rate * 6 or something? I'd like to try it out with a new client but am not sure about the rate. Thanks


well I actually used the opportunity to increase my rate, but to work it out I used a rule of 8 hours a day and rounded up to a nice figure that's easier to sell.


We haven't tried billing by the day yet but this would definitely be an interesting experiment.


Good advice. How have you been identifying and marketing yourself to the clients paying with "House Money"?


Yeah, that was the line that stood out to me: "If possible, work with clients who are somewhat removed from the money they're paying you."

Going after that type of client often means the work itself isn't as interesting, but it's great advice when you are getting the momentum (and savings account) going.


Funded startups and Ad agencies are often looking for freelancers and a cold email can go a long way.


Getting out of the house and going to a coffee shop helps make sure you don't get distracted by things around the house.

Not only this, but separating your work environment from your living environment can help you (a) focus more while working, and (b) not think about work when not (from my own anecdotal evidence). After a few years working from my bedroom, I decided to rent an office a short walk away from my home. It reduced 12 hour work days with 5-6 hours of actual work to ~8 hour work days with ~7 hours of actual work done.

YMMV - local Starbucks, coworking space, or a separate room in a house could work equally well, but IMHO, having a dedicated work space definitely helps.

(EDIT: corrected typo, "20" -> "12" hour work days).


I can feel a lot of the same sentiment about working at home. I think its psychologically important to separate your work and personal life. Maybe consider creating room which you only go to work or joining shared office. it really works for me.


As someone who works from home a lot, his advice about working in blocks of time is the most useful to me, as I've started exactly the same thing to keep productivity up. Being able to take breaks and tackle some life chores during the day is an awesome perk of working from home, but you can easily get carried away and miss out on doing any actual paying work.


I've just left a company to do the same-ish thing in marketing strategy. These are some helpful learnings, thank you!


Good luck!


Good stuff. Also, HN is a great source of clients, but you have to be willing to advertise yourself correctly. Many freelancers here write me-too ads that fail to get them noticed. I do attention grabbing ads and them alone have made my practice grow about 500%.


I would be interested in reading a blog post on what things work and what don't if you have the time to write it.


Well, to start you can do the following:

1. Search my comment history. You will see all of the ads I've posted. From the ultra conservative to the crazy "code with me maybe" fiasco that got me more hate mail than Hitler, but also got me a lot of work (a lot). I'm not afraid of being different and of standing out. Though this requires a flame suit.

2. Talk about what potential clients want to read about. I always talk about how my focus is on shipping. It really is. I dont stop working until the damn thing is done and out the door. Turns out, that is not very common with programmers these days. They are too busy dreaming of perfect code and arguing with each other about how Go deals with errors. Like I said, talk about what they want to read about (most of them just want to make sure you can and will deliver).

3.Do write a good headline. My best one so far reads "I ship software." Simple. To the point. And will make them read the rest of the ad.

4. Talk rates right there in the ad. Disqualify people right from the start. You dont want to waste time with people looking to under pay you. Plus you will chase away any dreamer who will gladly give you 5% of his made up company in exchange of "just some code." The higher the rates, the less shit you have to deal with. Honestly. I currently charge $100/hour with a minimum of one week of work. Thats $4000 a week if you want to hire me. But you do get someone who delivers. I have no problem getting paid that amount.

5. Make yourself available. Skype, email, phone. Just answer and take time to talk with clients. Let them know you will listen right there on the ad, and then follow through by listening.

6. Offer them a free 30 minute consultation. This helps both sides because it will give you a good chance to feel the client out, and same for them. Chemistry is very important when doing consulting and a free consultation is a great tool to use for that.

Good luck, and get in touch with me through email (in profile) we can always bounce ideas off each other.


You seem to not realize that $100/hr is hugely underselling yourself. I am working at a startup (vesting 1% equity in lieu of higher compensation). I work 47 weeks or less, probably for 30 hours per week or less (time actually spent working). Using those numbers, my hourly is about $75. But I also have more say over the direction of the company, free health care, a weekly grocery allowance, 3% match on retirement, and they pay the 7.5% employer tax. This is my first full-time programming job, and I just finished my first year with the company.

If you do anything at all approaching good work, then 5 of your points are meaningless, and it basically boils down to "Talk rates right there in the ad, if they're as low as $100/hour."

If I decided to start freelancing, I would take the per-day strategy and charge no less than $1500 per day. I would plan to work about 200 days per year, to pay about $100,000 in taxes, about $5,000 in health care, and another $15,000 toward retirement. That leaves about $117,000 in take-home pay, which is only about 50% more than I take home now (and actually probably less than any Google engineer). Any less than that, and it just wouldn't be worth it.


You make a good point. I am undercharging for my services. But I'm not in California, my costs are very low, and live like a monk. I'd rather have a lot of work because good clients can afford me than having a few jobs here and there because most people can't pay. In a world where engineers act like superstars, being affordable, approachable and down to earth makes a huge difference.


Do you have any other sources of clients apart from HN? What percentage of work comes via HN vs Other sources?

Also, I took a quick look through your comment history. Perhaps you are being to subtle for me, or perhaps you just post to many comments, but I don't see to many ads for your services there


Since I am also looking around for (more) clients these days, I checked out orangethirty's comment history. I guess by ads he meant these posts on the monthly 'Seeking Freelancer' threads:

http://news.ycombinator.com/item?id=4463748

http://news.ycombinator.com/item?id=4323813

http://news.ycombinator.com/item?id=4184829


Yes, those ads. The latest one is the biggest seller.


Here are my take aways:

(1) Say that you can do everything

(2) Be cheap (he starts at $200/day)

(3) Offer something for free

(4) Talk about "shipping" a lot

I'm not sure I would want to attract the sort of clients he gets.


:)

1. I can't do everything. But I can deliver 99% of the work needed out there.

2. I started out cheap. Current rates are at $100/hour with a set minimum.

3. Offer them a chance to get to know you for free.

4. Talk about what they want to hear.

I'm not sure I would want to attract the sort of clients he gets.

You mean you don't want to work with great people? People like Mark, who is focusing on disrupting the online payment industry. Or maybe even Robert, who is getting amazing growth through a simple Facebook statregy. I mean, of course I want to work with them. They are just amazing.

Maybe you just want to sit in your office all day, writing yet another interface class. Not me. I want to be where the action is.


Yes, I get clients through networking. I just email other hackers and get to know them. Not to get work, but because I really do believe that I can learn something from everybody. I'm always emailing people about their projects. One thing leads to another and they remember someone who had approached them about a project and they declined due to not having time or whatever.

I'd say its 40% HN and 58% networking with a 2% chance of rain.


Sorry for the naive question but how do you advertise on HN ? is it through your own blog posts ?


The monthly freelancer post and with blog posts. Though I have enough work now to not have the need of blogging. It works, though.


I have not started consulting yet, but I have a question. In software development we often have to learn new APIs and learn some tools. Can we charge hours for jobs that require some learning or is learning considered personal time ?


As long as you did not misrepresent your experience with said APIs or tools, I think it's perfectly reasonable to bill for time you spend educating yourself in the pursuit of someone else's project.


As a fellow consultant with a (somewhat) similar structure, I wonder if you have a boilerplate consulting contract you use? I kinda wanted to get a reality check and what templates others have.


Nolo Press has a book with some standard boilerplate contracts in them. http://www.nolo.com/products/consultant-and-independent-cont... They are a decent starting point. Sometimes a client will take my boilerplate, or sometimes they will have their own. I'm ok using theirs after I have a lawyer read it.

Whoever wrote the contract will have the advantage. Even the Nolo book provides each contract written from the perspective of the client vs. consultant -- keep that in mind.


Just used it on a client instead of my nonlegalese word doc -- thanks, great advice!


BTW, if anyone is looking for 1-2 months of HTML/CSS/JS work hit me up, my email is in the profile. Thanks.


whats the CMS of this page called? thanks!


This place really needs a downvote feature to quickly call BS on the ficticious salary information that occasionally pops up.




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

Search: