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"?
This is excellent advice. I found the exact same thing. I was getting underbid by less qualified workers for projects of X nature. I learned a little bit about Y, and now I have to raise my rates again to slow the work down.
Also, rates depend on the work required by the client. If you are purely doing some frontend/interface work, it is reasonable to adjust that rate differently from backend work.
Another note is that rates should fluctuate depending on timelines from the client, their budget and requirements. A healthy balance of determining all those factors and your ability to estimate your abilities to complete work can result in a wider range of price ranges - either fixed/hourly/weekly/monthly, etc.
Most of this can only be figured out through lots of experience.
>> 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%).
I'm usually the opposite. I highly doubt my abilities and usually forget that most other people don't have the same knowledge as I do. I first noticed this after graduating with a marketing degree, now I'm starting to notice this about software.
Smart people typically underestimate their skill while dumb people overestimate theirs. However, by acknowledging and discussing this, we're probably both thinking we're smart, so maybe we're overestimating ourselves and are really dumb. Or something like that.
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.
Funny how you should know more about me than I do.
The company meanwhile has grown in to something very respectable, and even though I haven't been a shareholder for years (bought out many years ago) I never regretted my decision one bit. It was an established business in a different trade when I got there, they decided to pursue this crazy idea (putting photographs on membership cards and print them with laser printers).
Yeah I don't get this either. I mean sure, you don't want to work for equity in something you don't care about. But I would LOVE to work for equity in some of the local start-ups around here.
I don't mind giving my time for no up front compensation and in exchange growing a really awesome idea or prototype into a lucrative business with a viable exit!
One of the biggest problems we are trying to solve right now is actually the problem of disconnect between business idea-generator types and programmers / engineers.
I know too many programmers that are good, but don't have ideas. So they go work for big firms. At the same time I know many entrepreneurs who's only roadblock to funding is a technical partner.
A coder is useless if he can't negotiate term sheets, get funding, and scale a business. Likewise an entrepreneur is useless if he can't code.
I think matching these people up via equity is exactly what we need to be doing.
Doesn't it suck watching a project you were paid 20 grand for rake in upper six figures going into the second year? I think that 5% equity is looking pre-tty good then.
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 mail@ryanwaggoner.com. 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.
The sad part about this one, is that it was for a huge tech firm, who hired this person based on reputation and the circle of friends that this person associates with, they paid top dollar for this person. The individuals pedigree looks outstanding and they are a great speaker and advocate for the industry. They just could not apply their trade to real world problems, and in turn blamed the client due to their inflated arrogance due to being so respected in the speaking and blogging industry, when in fact this client has their act together, it is one of the better development houses I have seen.
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 :)
I haven't sat through a team meeting or buzzword filled death by powerpoint for 5 years. I haven't had to attend corporate vibe sessions or listened to compliance officers drone on about anything. I also, 5 years ago, looked at a map and said 'where do I really want to live', then moved there. My whole life philosophy was to create the lifestyle I wanted, and then work out how to pay for it. It's a powerful motivator. Because most people first find a job, which then locates them on the map, and they then try and fill in the rest of their lifestyle based around those two parameters.
The thing that keeps me going is the thought : well, I can always go and grovel for a permanent job somewhere. But I think I'm pretty much unemployable now, in the traditional 9-5 sense. I get 2-3 requests for work per day at the moment, but pass on most because, like the blog post says, people aren't serious or are expecting low prices.
Similar boat here - second time round freelancing (3 years). I'll never say never, but haven't had a job offer yet close to the challenge/interest/financial level I'm after. So... I'm open too, but most companies don't seem open to offering what I want :)
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)
It's closer to that here (NC). Most people I know who make > $100k have either narrow specializations and/or > 10 years experience. It's not impossible to do otherwise, but geography will play a factor in that as well. Earning $150k in NYC won't feel like all that much compared to $150k in Topeka, KS.
The following comments reflect what I hear/know about compensation in RTP.
In general, I've heard very little buzz about jobs in the $120K to $150k range here that are permanent positions. The few I know making that range are oddly enough managers, even at smaller shops. Some of the smartest lead devs/architect type hackers I know here can't locate opportunities at that salary level.
I do know a few contractors making in that range, but they are the exception rather than the rule. I also feel that there is some significant downward pressure on top salaries here in the RTP area. But I'm underexposed in my personal network to hackers working in consulting roles.
I'm consistently amused by comments on threads here saying someone should be making "$120K to $160K." Maybe in SV or Redmond, this is true, but I don't see it here.
Guess what: programming can be done remotely, and clients tend to pay the rates where they are, not where you are. So you can land a job making $150k / yr from a company in NYC or SF, but live in Thailand where you annual expenses are $10k.
Perhaps that's a skill you have you could teach others (and perhaps make more doing that than something else!). My own experiences (and those of most I know) come down to most of those sorts of positions
A) aren't advertised around much - you have to have a strong network
B) Typically require you to be onsite for at least part of the time or at least periodic visits.
I've not yet found gigs that pay $150/hour for long extended periods (9-12 months) which didn't require any face to face or onsite time (where you could live in Thailand but charge US rates).
Not saying they don't exist at all, but I think they're rarer than your experiences might indicate.
Also, I don't think all clients tend to pay the rates where they are. There's a whole outsourcing trend, which many freelancers are exploring - taking on 'virtual assistants' based in other countries. They do this precisely because you can get reasonable professional-level assistance for $3-$5/hour - which is a good rate for where the worker lives, not where the freelancer is. If I wouldn't pay someone in Thailand $30/hour to do secretarial work for me, why should someonei n NYC pay me $150/hour if I'm living in Thailand? Because I'm a US-born white guy?
Again, finding 6-12 month contracts at 40 hrs a week isn't hard. So you don't need to make $150 / hr to make $150k / yr. $75 / hr will get you there if you can bill 2000 hrs, and doing a longer-term contract gig like that will get you there. As for the rate, these companies aren't "outsourcing" or "offshoring" in the sense that you're thinking of. They just want to hire someone to get their work done, and they're desperate enough that they don't care where you are.
Again, your experience might differ, but this is what I've found.
Am I missing something here? The same answer for how you communicate with anyone not local: phone, email, and IM. I've landed numerous projects and long-term contract gigs without ever meeting the client.
> The few I know making that range are oddly enough managers,
Why would this be odd? Management salaries are always the highest and I know of no exceptions to this.
>I do know a few contractors making in that range
It depends on the area. If you live in a low cost of living area of course salaries will be lower. If the cost of living could some how be low and the salaries high then everyone would move there (driving salaries down and costs up). So the best is, as noted below, live in a very low cost area but work in a high cost area. Failing that live and work in a high cost area.
I'm a contractor, I'm well past $150k/year and I'm just getting started. My next contract should add at least $100/day.
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.
On the other hand, in Canada you can put part of your mortgage paiement as deductible if you work from home (same thing with you computer, phone, etc). So that does lower your taxes compared with someone who work in a company. Is it the same in the US?
In the US, things that you buy and use for your job are tax-deductible (no doubt the IRS has a very detailed definition of “use for your job”). If your employer buys them for you, then the employer gets to deduct them as a business expense.
Mortgage interest (up to a certain ceiling) is always deductible in the US, whether or not you are working from home. If a certain part of your home is set aside for business use, you can also deduct a proportional slice of your real estate taxes, depreciation, and various other things, but not, it appears, the principal.
In Germany we can deduct all sorts of business expenses. It sounds like a sweet deal, but employees get 1000€ as "default business costs" automatically. Since programming does not require that many resources, I find it is not necessarily so easy to get far above 1000€ in business expenses. If you buy something expensive like a computer, you have to split it across several years, so it doesn't help that much either.
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.
One thing you can do to decrease your taxes is form an S-Corp. That allows you to pay yourself a moderate salary of 50K a year on which you pay all the income taxes. The rest you make you can take out as dividends and only pay dividend taxes on it.
Get a good CPA before you try this; the IRS takes a very dim view of people doing this where the revenue is all based on a service that 1 person is offering.
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.
It's not just that. If that was it, it would just be a case of paying now vs paying later.
I'm simplifying here, but there's something called FICA, which is about 15.2% of your pay. Typically employees have 7.6% withheld, and employers chip in the other 7.6%. It's effectively never paid or counted to the employee in the first place. Someone earning 100k at an employer would see $7600 paid in FICA. A self-employed person has to pay $15200 on the same $100k income (but half of that tax is deductible for other tax calculations - it gets convoluted!)
So... self-employed people are paying 'more' , but the net effect of what the gov't get is the same. You just don't see some of that money as a typically w2 employee.
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.
There's a bit of caution to be given here. My tax person said that switching between W2 and 1099 work throws up a red flag with regard to the IRS willingness to consider you as truly independent.
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.