Finally, keep this in mind: freelancing might seem overwhelming, but your competition is terrible. Seriously, absolutely terrible.
This doesn't just apply to developing, or other stuff you're particularly good at, either. In general, people suck at stuff.
My experience tends to be that if, as a hacker, you think you've got an okay grasp of a subject, you're probably in the 90th percentile somewhere. If you think you're pretty good at it, probably 99th.
The "keep raising your rates" advice is good for life in general. Never, never sell yourself short on anything.
A sidenote to 'keep raising your rates'. At some point, for some sort of work, you really will be pricing yourself out of that market. I've had people express that concern to me "I'll never get the job if I quote that much!", etc.
My response years ago was to adjust the price down some (and I did it myself) and sometimes you'd get the job.
My advice now, typically, is ... don't go for that type of work. Don't bid on that project. If what you're bidding on is commoditized to the point where anyone can do it for 5x less than you want to charge, find another type of skill to enhance and sell that.
This approach isn't for everyone, obviously, but I'm finding it works. This might just be a variation of "go where the competition isn't"?
>> you think you've got an okay grasp of a subject, you're probably in the 90th percentile somewhere.
You may be in the 90th percentile if you have an okay grasp of the subject. However, way more than 10% think they have an okay grasp of any subject (probably more than 90%).
Totally agree, but I think today "terrible" is now "good enough" for a lot of potential clients. I see this in both web design and pro photography.
I'm all for raising rates and choosing discerning clients, but being able to explain your rates, your proposals, and the importance of investing in someone who isn't terrible is a skill that should not be overlooked.
"Oh, I almost forgot: never work for equity. 99% of those projects will never go anywhere. I tell my clients that they’re welcome to throw in some free equity on top of my normal rates, but I get paid in cash for the work that I do. I have plenty of entrepreneurial projects of my own, so why would I work my ass off for 3% (or even 30%, though they never offer this much) of someone’s Facebook clone?"
The most valuable paragraph in the whole article, IMO.
Also, don't discount your work for equity. Very not worth it. Learned this lesson twice now.
Biggest reason - if a company is coming to you to build their whole product under a contract, they're making a major blunder out the gate. Any seasoned startup junkie will tell you that outsourcing early product development is a surefire pathway to failure. Don't be fooled by thinking your involvement will help turn them around, the motivations you have as a consultant differ greatly from the objectives of a startup.
What ends up happening is you're working with a client who you're putting in way more effort and hours for - on a discount - which is, by the nature of the fact you're working on it, destined to fail.
Get your normal fees on the project, define the boundaries between you and the company, and don't let yourself get sucked into their hype. No matter how high-profile or connected or wealthy the client is. Its not worth it.
That very much depends. If the equity is a part of the payment and you're a co-founder it is not rare to make out very well in the longer term. If a company is already established then equity (usually in the form of options) can be a substantial component of your compensation.
People seemed to find part 1 of this topic helpful, so I decided to elaborate on a few points. You can find the original post and discussion here: http://news.ycombinator.com/item?id=1763634
If you found either of these posts useful, please email me at [email protected]. I have a couple questions about a related new venture and I'd love some feedback.
I never imagined how easy it would be to get started. After pitching a failed startup in New York City, I received a random email asking if I knew any software developers. I mentioned I was looking for freelance work, and that was my first gig. I'm currently working four and the offers keep coming. All you really need to do is go to startup events and tell them you're a developer. 95% won't want to pay you, but there's always a few that will.
I keep track of hours using freshbooks, ask for 50% of estimated hourly fees up front, and use paypal for payments. It's pretty easy, and I never even built a website, lol.
freelancing might seem overwhelming, but your competition is terrible. Seriously, absolutely terrible. I think almost all of my clients have gone through several programmers before me and their expectations are generally pretty low.
This is sadly the case, I am worked on a project that was done by a developer and abandoned half way through. The code was atrocious and you could tell that this developer was in over their head.
The worst part about it is that this developer speaks at industry conferences and blogs about the subject matter at hand. All of the developers on the team for this company had very low opinions of the freelancer and the project was put in significant jeopardy by this developers lack of real world qualifications on the subject matter. When the freelancer was questioned about their high ego-to-talent ratio they blamed it on the in-house development team and abandoned the contract.
The worst part about it, is this person is friends with some of the best and brightest in a particular segment of the tech industry. I though to myself if this is the state of freelancing then no wonder I am beating away jobs. It goes to show some people talk a good game, but when the rubber hits the road they can't produce. The author hit this one spot on. If you are a consistent performer, you should consider freelancing.
I've only done freelancing on and off yet I've been approached a number of times exactly like this. Client hired someone that would work for cheap and now the project is only half done, poking around for a few minutes reveals a handful of bugs, there was no thought to the design of the code and the code is extremely difficult to understand.
Another comment about looking for work: never act like you NEED work/some specific contract.
Once you start feeling desperate, you'll make irrational decisions such as quoting lower rates, accepting more difficult clients, and the worrying will drive you crazy.
The truth, though, is that sometimes you might have to lower your rate to take work if you're going through a particularly dry spell and have bills to pay.
Don't feel bad about it.
In that instance, try and get a retainer, so that you're getting paid every 2 or 4 weeks for a set number of hours no matter what.
Ryan - thank you. This is very well written and provides a good picture of what it takes to freelance.
It seems to me that you really want to have to work for yourself to do this. A decent programming job with benefits for someone of your experience is easily $120 - $150k. Assuming you can bill $100/hr and work 2000 hrs/yr, it beats that, but not by much, and frankly seems like a lot more work. So the motivation to freelance isn't a monetary one. Would you agree?
Completely agree. Benefit to me is freedom. Freedom to work where I want, when I want, on what I want, with the tools I want. I can't imagine going back to a job, but who knows. I'm always open to offers :)
4-5 years of experience can easily get 120-150k without overtime and the stress? which state is that? (honest question, cause in Vancouver, the rate is about 75-80k)
That seems exaggerated. And typically a job that high paying would bring with it a lot of stress. You'd be responsible for pretty high profile projects.
Is there a way to form a certain kind of company and pay yourself a small salary like 60K/year and only pay payroll taxes on that part? Have you looked into anything like that?
Second this question. I'm also interested in all the business infrastructure issues of freelancing - software stack for time tracking, invoicing, receiving payments, calculating and paying taxes, LLC or not?, Nevada or Delaware?, how to pay yourself, etc.
Typo; Sales cycle, second paragraph: [...] you'll find that only have one project [...]
Thank you for the two posts. The key thing for me, personally was (first post): "If you don't have any sample work at all because you haven't built anything, you're not ready to freelance."
Also, is there any reason "running a development agency" is not your goal? Do you simply rather doing the work yourself, than managing people?
I suck at UI design (for example making a good looking OK button in photoshop), but I'm a pretty good programmer. How would you approach that? Do you think subcontracting a UI designer would work? Or usually it's the other way around (UI designer subcontract the programmer to build the web site logic).
I've never actually tried subcontracting a design myself, but my understanding is that it's pretty typical.
You still have the risk problem -- the designer might turn in terrible work, or might turn in great work that the customer thinks is terrible -- but I'm guessing that much of the risk is mitigated: image prototyping and UI sketching starts pretty early in the process and features lots of iterations, so you get early warning if something is going wrong; moreover, most web frameworks are designed around the assumption that design elements will change very frequently, because people have learned how much customers love to change the color of the bikeshed at the last minute. Oh, how they have learned.
The scary part of subcontracting is when you subcontract something tricky and coding-intensive, like the entire event-planning module, or the video-sharing module. Then maybe you end up a week away from launch with two weeks of programming left to do. Or maybe your subcon delivers something that looks superficially correct, but which falls over dead during load testing when it sees more than one query at a time, and now you have to rearchitect it under deadline...
When faced with the same situation (3 years ago), I decided to train myself to at least be able to create decent looking UI.
It's not that hard, if you read a few books and practice a bit, to be able to cover 80% of design needs (and you can stay in the code these days, ie: work in CSS3 and take screenshots for instance - staying away from Photoshop).
You can also subcontract to a UI designer for the inspirational bits and do the rest of the work yourself.
My answer was to partner with a high quality designer who was interested in becoming a front-end web developer, and also had a good pension for freelancing.
Re: good vs. bad clients -- I commented on part 1, basically saying that being friendly helps me find work, but it also means my clients are friendly/casual which can lead to time wastage. It's like the opposite of the super-type-a micromanager client.
When I feel a client is wasting my time, I try to gently remind them that, for a freelancer, time is money. Also, as Ryan suggested, having two clients/projects going on at once is the best scenario.
I'm not an American, but in most countries, employers pay tax for employees that employees don't see on their paychecks. In effect, it's income tax whose value is hidden for political purposes: employees only see the headline salary and the headline income tax, but in reality, the cost to the employer is usually more than the headline rate, even without the value of benefits etc.
Other replies got it mostly right. There's a particular tax in the US to pay for Social Security and Medicare. If you're employed, your employer pays a half share of that in payroll tax. If you're self-employed, you have to pay the whole thing— about 15% off the top (up to ~$100,000) before paying standard income tax. That's called the Self-Employment tax.
Self-Employment tax applies even if you wind up not owing any income tax. You get the benefit of being able to deduct business expenses, which employees can't do, but that usually doesn't make up the difference.
However, self employed workers can write off work related expenses. This may help offset the higher taxes. On the other hand, as a freelance web developer, my overhead is so low I don't even bother with deductions (I'm living in the Philippines to take advantage of the freedom of self employment but costs are super low here.)
Employers pay half of payroll taxes for their employees. Freelancers pay the full amount, around 15% for social security and medicare.
Obviously that means employers offer lower salaries since they care about the total cost to them not the actual salary amount. So it's not really a bad deal for free lancers, just the amount you get paid has to be/sound higher to make things equivalent.
Normally the employer handles income tax. Employees receive a lower paycheck because taxes have already been taken out, but unless they made a bunch of money from other sources, their income tax should be very low or even non-existant, such that they get money back from the government.
Freelancers on the other hand have to take taxes out of their income themselves, so what starts out looking like high pay is actually less than it looks. The danger in freelancing is forgetting about taxes and living right up to the extent of your means.
Your choices are usually 1099 or W2 for longer-term contract gigs. If on W-2, they pay you just like an employee, taking out taxes and all that. They also have to pay half the FICA taxes in the US, so the rate is a little lower than it would be on 1099.
[+] [-] Cushman|15 years ago|reply
This doesn't just apply to developing, or other stuff you're particularly good at, either. In general, people suck at stuff.
My experience tends to be that if, as a hacker, you think you've got an okay grasp of a subject, you're probably in the 90th percentile somewhere. If you think you're pretty good at it, probably 99th.
The "keep raising your rates" advice is good for life in general. Never, never sell yourself short on anything.
[+] [-] mgkimsal|15 years ago|reply
My response years ago was to adjust the price down some (and I did it myself) and sometimes you'd get the job.
My advice now, typically, is ... don't go for that type of work. Don't bid on that project. If what you're bidding on is commoditized to the point where anyone can do it for 5x less than you want to charge, find another type of skill to enhance and sell that.
This approach isn't for everyone, obviously, but I'm finding it works. This might just be a variation of "go where the competition isn't"?
[+] [-] blacksmythe|15 years ago|reply
See http://en.wikipedia.org/wiki/Illusory_superiority "80% of participants had evaluated themselves as being above the average driver."
[+] [-] callmeed|15 years ago|reply
I'm all for raising rates and choosing discerning clients, but being able to explain your rates, your proposals, and the importance of investing in someone who isn't terrible is a skill that should not be overlooked.
[+] [-] marknutter|15 years ago|reply
The most valuable paragraph in the whole article, IMO.
[+] [-] rwhitman|15 years ago|reply
Biggest reason - if a company is coming to you to build their whole product under a contract, they're making a major blunder out the gate. Any seasoned startup junkie will tell you that outsourcing early product development is a surefire pathway to failure. Don't be fooled by thinking your involvement will help turn them around, the motivations you have as a consultant differ greatly from the objectives of a startup.
What ends up happening is you're working with a client who you're putting in way more effort and hours for - on a discount - which is, by the nature of the fact you're working on it, destined to fail.
Get your normal fees on the project, define the boundaries between you and the company, and don't let yourself get sucked into their hype. No matter how high-profile or connected or wealthy the client is. Its not worth it.
[+] [-] unknown|15 years ago|reply
[deleted]
[+] [-] jacquesm|15 years ago|reply
[+] [-] ryanwaggoner|15 years ago|reply
If you found either of these posts useful, please email me at [email protected]. I have a couple questions about a related new venture and I'd love some feedback.
[+] [-] rcavezza|15 years ago|reply
I keep track of hours using freshbooks, ask for 50% of estimated hourly fees up front, and use paypal for payments. It's pretty easy, and I never even built a website, lol.
[+] [-] kls|15 years ago|reply
This is sadly the case, I am worked on a project that was done by a developer and abandoned half way through. The code was atrocious and you could tell that this developer was in over their head.
The worst part about it is that this developer speaks at industry conferences and blogs about the subject matter at hand. All of the developers on the team for this company had very low opinions of the freelancer and the project was put in significant jeopardy by this developers lack of real world qualifications on the subject matter. When the freelancer was questioned about their high ego-to-talent ratio they blamed it on the in-house development team and abandoned the contract.
The worst part about it, is this person is friends with some of the best and brightest in a particular segment of the tech industry. I though to myself if this is the state of freelancing then no wonder I am beating away jobs. It goes to show some people talk a good game, but when the rubber hits the road they can't produce. The author hit this one spot on. If you are a consistent performer, you should consider freelancing.
[+] [-] mattm|15 years ago|reply
[+] [-] hundredwatt|15 years ago|reply
Once you start feeling desperate, you'll make irrational decisions such as quoting lower rates, accepting more difficult clients, and the worrying will drive you crazy.
[+] [-] trustfundbaby|15 years ago|reply
Don't feel bad about it.
In that instance, try and get a retainer, so that you're getting paid every 2 or 4 weeks for a set number of hours no matter what.
[+] [-] ryanwaggoner|15 years ago|reply
[+] [-] thibaut_barrere|15 years ago|reply
It's automatically a lot easier to get the rates you ask for.
[+] [-] js2|15 years ago|reply
It seems to me that you really want to have to work for yourself to do this. A decent programming job with benefits for someone of your experience is easily $120 - $150k. Assuming you can bill $100/hr and work 2000 hrs/yr, it beats that, but not by much, and frankly seems like a lot more work. So the motivation to freelance isn't a monetary one. Would you agree?
[+] [-] ryanwaggoner|15 years ago|reply
[+] [-] hello_moto|15 years ago|reply
[+] [-] tocomment|15 years ago|reply
[+] [-] unknown|15 years ago|reply
[deleted]
[+] [-] tocomment|15 years ago|reply
[+] [-] SkyMarshal|15 years ago|reply
[+] [-] felideon|15 years ago|reply
Thank you for the two posts. The key thing for me, personally was (first post): "If you don't have any sample work at all because you haven't built anything, you're not ready to freelance."
Also, is there any reason "running a development agency" is not your goal? Do you simply rather doing the work yourself, than managing people?
[+] [-] thierryd|15 years ago|reply
I suck at UI design (for example making a good looking OK button in photoshop), but I'm a pretty good programmer. How would you approach that? Do you think subcontracting a UI designer would work? Or usually it's the other way around (UI designer subcontract the programmer to build the web site logic).
[+] [-] mechanical_fish|15 years ago|reply
You still have the risk problem -- the designer might turn in terrible work, or might turn in great work that the customer thinks is terrible -- but I'm guessing that much of the risk is mitigated: image prototyping and UI sketching starts pretty early in the process and features lots of iterations, so you get early warning if something is going wrong; moreover, most web frameworks are designed around the assumption that design elements will change very frequently, because people have learned how much customers love to change the color of the bikeshed at the last minute. Oh, how they have learned.
The scary part of subcontracting is when you subcontract something tricky and coding-intensive, like the entire event-planning module, or the video-sharing module. Then maybe you end up a week away from launch with two weeks of programming left to do. Or maybe your subcon delivers something that looks superficially correct, but which falls over dead during load testing when it sees more than one query at a time, and now you have to rearchitect it under deadline...
[+] [-] thibaut_barrere|15 years ago|reply
It's not that hard, if you read a few books and practice a bit, to be able to cover 80% of design needs (and you can stay in the code these days, ie: work in CSS3 and take screenshots for instance - staying away from Photoshop).
You can also subcontract to a UI designer for the inspirational bits and do the rest of the work yourself.
[+] [-] izak30|15 years ago|reply
[+] [-] chopsueyar|15 years ago|reply
[+] [-] access_denied|15 years ago|reply
[deleted]
[+] [-] bballant|15 years ago|reply
When I feel a client is wasting my time, I try to gently remind them that, for a freelancer, time is money. Also, as Ryan suggested, having two clients/projects going on at once is the best scenario.
[+] [-] random42|15 years ago|reply
[+] [-] barrkel|15 years ago|reply
[+] [-] Cushman|15 years ago|reply
Self-Employment tax applies even if you wind up not owing any income tax. You get the benefit of being able to deduct business expenses, which employees can't do, but that usually doesn't make up the difference.
[+] [-] gexla|15 years ago|reply
[+] [-] xenophanes|15 years ago|reply
Obviously that means employers offer lower salaries since they care about the total cost to them not the actual salary amount. So it's not really a bad deal for free lancers, just the amount you get paid has to be/sound higher to make things equivalent.
[+] [-] NathanKP|15 years ago|reply
Freelancers on the other hand have to take taxes out of their income themselves, so what starts out looking like high pay is actually less than it looks. The danger in freelancing is forgetting about taxes and living right up to the extent of your means.
[+] [-] johnarleyburns|15 years ago|reply
[deleted]
[+] [-] simonista|15 years ago|reply
[+] [-] tocomment|15 years ago|reply
If you don't get paid with a 1099 does that affect your taxes in any way? Are you still responsible for payroll taxes if you don't get a 1099?
[+] [-] ryanwaggoner|15 years ago|reply
[+] [-] sgoranson|15 years ago|reply
[+] [-] dmoney|15 years ago|reply
[+] [-] johnarleyburns|15 years ago|reply
[deleted]