As developers, we have the itch or the need to analyze problems and craft solutions for them. That's what drives most developers. If you boil it down to its essentials, then a developer solves problems, large and small.
Some of us have bigger ambitions, though. What has always appealed to me most is the possibility of creating a product and selling it to hundreds or thousands of people. Apple gets a lot of flak for taking a significant cut from your earnings, but, credit where credit is due, Apple has made creating and distributing software easier than ever. It's no coincidence that the App Store catalog packs millions of applications. Whether that's a good thing is a different discussion.
Solve a Problem
There are many reasons for publishing an application on Apple's App Store. Some developers want to test the waters, create a portfolio to show future employers, and some of us want to help others for free.
Some of us have the ambition to turn our passion into a business. To be honest, I'm always suspicious when I see "passion" and "business" in the same sentence. I believe that you can be passionate about the thing that makes you money, but passion and business can be a dangerous or misleading combination.
Every business starts with an idea. But a successful business starts with a problem. Ignore Facebook and Twitter for now. I hope you don't have the ambition to create the next Facebook or Twitter.
As I mentioned earlier, a developer is wired to solve problems. Some of us also have a gift to spot problems, which can be both a curse and a blessing. But the first mistake developers make is trying to come up with an idea. And many people I've talked to get frustrated in this phase.
The solution is surprisingly simple. Turn it around. Instead of looking for an idea, look for problems and try to come up with a solution. That's the seed for a successful business. Why is that?
As developers, we're focused on the technical aspects of the product. We're so immersed in the process of solving the problem that we forget to ask the most important question. Does anyone want what we're building? And this leads to a waterfall of other equally important questions. Who is the person we're helping? What is the pain they have? And how are we trying to make that pain go away?
Your first task is to validate your idea. It determines whether you will spend the next days, weeks, or months creating a business or a fantasy.
Every developer I've talked to about creating a product business has made this mistake. Every. Single. One. I've made this mistake several times, even after I knew I had to validate the idea first. It's just incredibly tempting to fire up a code editor and start coding.
Is This for You
If your passion is writing code, then building a product business may not be for you. You have to be honest with yourself about this. Building a business also includes marketing, customer support, writing release notes, and much more. You don't need to be passionate about these responsibilities, but you need to take care of them. I don't like marketing, but I know it's essential for my business.
The same applies to freelancing and working as an employee. Freelancing looks amazing on paper, but a freelancer needs to find clients, write proposals, and a lot of administration. That's why most developers work as employees at a company where they can focus on what they enjoy doing most. And that's fine.
But It's Fantastic
Even though running a product business is hard work, and a lot of it, the feeling of creating something people are willing to pay for is amazing. You have the feeling that you're making a dent in the universe, a tiny one, but it's still a dent. You're doing something that matters and that helps people in their lives.
And that too can turn into a passion. Being passionate about your business sounds much healthier than trying to turn your passion into a business.
A Recipe for Success
While building a successful business is hard work, there is an easy blueprint you can use. It doesn't require venture capital, and you don't need to have thousands of followers on Twitter. The recipe is simple.
- Step 1: Find a burning problem people have.
- Step 2: Solve that problem.
- Step 3: Ask for money.
This roadmap isn't rocket science. Unfortunately, the path most developers that turn entrepreneur take is the following.
- Step 1: Come up with an idea, not a problem.
- Step 2: Build a product, not a solution.
- Step 3: Release it.
- Step 4: Frantically look for potential customers.
- Step 5: ...
Like most freelancers, people occasionally contact me to talk about an idea they have for an application. They're prepared to spend thousands of dollars of their savings into a product that hasn't even been validated yet. They haven't talked to a single potential customer. This is a recipe for disaster.
As a rule, I don't take on projects I don't believe in. It isn't fun to see someone pour their savings into a project that isn't going anywhere. Don't make this mistake yourself. Talk to your customers.