« Making your development process suck less | The Community Toxic » |
It’s the dream of every software developer: “I’ll quit my job and be my own boss! I’ll have clients pay me to do what I’m good at!” The developer quits and feels that breeze of freedom, right before they run into the brick wall of freelancing realities: you’re not your own boss, and you traded one boss for five.
Freelancing may be the goal of many developers, but it’s a fantasy, a fake, something that you think you want. Here’s why you should reconsider.
Lots of developers I’ve talked to want to quit their jobs so they can be free of the grind. They figure if they’re responsible for finding their own clients, maybe they’ll like their work better.
Freelancing isn’t anything like that. When you freelance for someone, you’re doing exactly what you did in your old job, on a temporary basis, at a higher hourly rate. You still have a boss, but now in order to earn your paycheck you actually have five different bosses.
To make matters worse, you’re not in charge of being creative or coming up with solutions. Chances are, someone else has already decided what they want, and you’re just there to make it. You might get lucky and find that special client who actually hires you to be an engineer. But they’re few and far between.
It can be tempting to stop earning $55 from your employer and start charging $150 an hour to a client. The problem is that even though you’re potentially earning more, your money dries up as soon as your work, your health, or your time does.
Freelancing is trading time for cash. As a result, when you can’t trade any more time, you can’t earn any more cash. For example, suppose you get sick. As soon as you’re sick, you can’t work, and you can’t earn. Come down with a chronic condition, and your money dries up completely.
Not to mention the fact that you’re busy creating something for someone else that they can sell. I frequently tell the story of the $2,500 project I did that earned the client $250,000. I made 1% of the money he did on that project, and to make matters worse, he’s still earning on that project!
I have a few friends that run SaaS companies aimed at small businesses. According to their churn statistics, the freelancers who sign up are the most likely to cancel their accounts. What’s the reason they cite? Running out of work.
Freelancers usually have one of two problems: too much work, or too much free time. It’s difficult to keep a steady pipeline going when you’re spending 10 hours a day in the office, and when the work runs out, it takes time to find new work. This creates a cycle of prosperity followed by anxiety.
Most engineers are creative people who are capable of figuring out how to solve problems. That means the key to success is to figure out how to solve the problems of the people willing to pay for the solutions. Most of the time this means businesses, professionals and others.
When I took Amy Hoy’s 30×500 class, we focused on creating products aimed at either killing a particular business pain, or increasing the money a business would earn. These are the things that people will pay for, because they’re the things people need and want the most. This focus paid off: lots of people have used Mastering Object Oriented PHP to get better at object-oriented application development. I made some money, they solved their problem, everybody wins.
Can you do the same thing? Absolutely! By taking a hard look at what in your own job is difficult or could be automated and improved, you can probably find a viable product concept and start working on it. Maybe you see a tool that everyone uses but nobody understands. Or a process that can be automated so that it’s not annoying. Whatever your problem, there’s likely a solution.
At the end of the day, creating a product will serve you well. It will provide some income when you can’t or don’t want to work. Once you have it, you don’t have to keep creating it over and over again; now you can optimize sales. And best of all, you get to be the boss, deciding how the product looks, feels and works!
Brandon Savage is the author of Mastering Object Oriented PHP and Practical Design Patterns in PHP
Posted on 9/11/2014 at 6:18 pm
Soroush wrote at 9/23/2014 3:44 am:
That’s what it did 2 years ago and never regret for that, although the points you have mentioned are also notable and should be considered.
Soumya Roy (@promozseo) wrote at 11/12/2014 11:36 am:
I think, initially everyone should carry on their job while doing freelancing and after certain years they should quit. That’s according to me. Because freelancing experience can lead you to start something new on your own. I did the same several years back and now running my own startup. Believe me or not my job and freelancing, both experience helped me a lot in my entrepreneurial journey so far.
« Making your development process suck less | The Community Toxic » |