I'd like to switch to doing my work as an independent contractor. The web technologies I'd like to work with are somewhat new to me, but I'm getting good at them.
The question I have is, how do I know when I'm ready to start offering my services? I want to make sure I can deliver the right amount of value, but I'm not sure how to know when I've reached that point.
Thanks!
I took a regular job three weeks later. We'd talked, it was still "a week or two out." Eventually over the years, my Rolodex expanded to where I could take another stab at it when an economic down cycle made my job evaporate and I was kind of more or less able make it work.
You're ready to start when you have a signed contract and the retainer check has cleared. Software contracting is no different from any other type of contracting. 80% of it is sales. The other 80% is doing the work. Nobody who hasn't already asked you to do a project for them is likely to care on the day you open the doors and hang out a shingle. The three most important things are:
1. Get the job.
2. Get the job.
3. Get the job.
Good luck.I've been freelancing for people who sell my work at 10x what they pay me.
But honestly, you get money equal to the value you create. Having played both roles, IMO, the sales part is much harder. It is a lot of work to tell a client how much something costs.
Sometimes you deal with racist big company clients who lead you on but are just finding some excuse to reject you. You have to learn when to stop. Some clients are just using you as a point of negotiation, you offer them a cheap price and they bring it to some big shot contractor to negotiate.
And finally there is the politics of contracts and getting paid. Some people will try to sharpen their negotiation skills on you. I have seen deals like "On contract, we wrote $3M but I can only pay you $2 million. And you were 1 week late on delivering this animated PDF feature on Android so technically you violated the contract."
- Frame your services as creating solutions to business problems, rather than trying to sell developer skills. This explains the value in terms that a client understands, and more simply, it lets non-technical clients know what you do in a way that “AWS, Go, JavaScript, PostgreSQL” can’t.
- Focus on getting clients. This is a bigger barrier to entry than how good you are at creating software. Don’t expect to do well just because you are good at making things.
- You’re probably qualified to do this if you've been a developer for a few years.
With this information, I'm going to follow the plan I already had, but with more confidence and focus since I feel more like I'm on the right track. I'm going to launch a few nice side projects with moderate levels of complexity to solidify my skills and figure out how long things take (important for estimates), and then I'll try getting clients using those projects to showcase what I'm capable of doing.
Thanks again everyone!
As for technical skills, let me tell you a story of my friend. He was an average or below average programmer in university. We all got jobs in brand name companies; he could not get even an interview. Honestly, he was really bad programmer, I don't fault companies.
He expanded his job search from big companies, to smaller companies, to finally anyone posting a gig on Craig's List. He wanted to get hired by a guy who was setting up his band's blog. He had no idea what he was doing.
Eventually, he did a few fixed price contract work for setting up blogs. Then he got a contract to build Facebook for $500. He thought he could do that in a month. As deadline approached, he asked one of his unemployed friend to help him with it, who was also a bad programmer. They still thought they can deliver it within a few weeks. Of course, they never finished and not sure if they even got paid anything for it.
But they kept on bidding projects, taking on too much work to handle. They asked their friends including me if we wanted some side work. Of course, we said no when we saw type of work and money involved.
Eventually, they started a company to look professional. They hired part-time programmers. They even started an internship program with a local university.
Now 7 years later, they have 20 people working for them. They still like to code and they know they are bad programmers. They tell me that their programmers hate it when they get involved in a project. They are supposedly still working on Facebook clone website.
Now to be honest, they did had several advantages over many people in the US. They lived with their parents, so had no living expenses. Their education was paid for by their parents, so they graduated with no debts. So their success might not be easy to copy if you have bills to pay.
Also pretty sure all these perks came with daily nagging by their parents though.
Contracting is mostly about delivering business value. Solving business problems is what you get hired as a contractor for, tech is usually not that important as most companies that hire contractors don't have a good understanding of tech anyways. So they'll be happy to let you recommend the technical solution that solves their business problem.
So, start by talking to potential clients and try selling your services. At the very least this will provide you with invaluable information as to which skills you might need to improve or acquire.