If you’re an independent developer who’s decided to go solo, or even one who’s working with just a few other people, there’s one critical decision you need to make early in your company’s history: should you concentrate on products or services? That is, is it better to put your efforts into building something for resale, or to put your own skills out on the consulting market? As with many decisions, there are things to be said on both sides of the question. Here’s how they generally stack up.
Building products is often the dream of the independent software developer. It’s easy to read the stories of Microsoft or Apple starting out on a tiny scale, and to think “if I only had the right idea, I could do the same thing!” The most attractive part of being a product-oriented company is the siren song of passive income: write the code once, and sell it again and again, without any further effort beyond counting the money as it comes in.
But passive income tends to be more of a dream than a reality. Even if you write a successful application, you still need to put effort into maintaining it, marketing it, and supporting it. The “take the money and run” attitude is likely to just lead to unhappy customers and rapidly declining sales. Good product vendors are those who stick with the product and put continuous effort into it.
Even worse, if you’re just starting out, is the unfunded ramp-up time. However long it takes you to write the software is time that you somehow have to survive with no income. It can be scary to watch savings deplete as you desperately try to get something ready to sell. Some folks try to dodge this issue by writing their software at night, after a regular day job – but watch out that your employment contract doesn’t end up giving your employer possession of even your after-hours software efforts.
What about consulting, then? On the plus side, it’s much easier to hit the ground running with services than with products. Find your first client, sign a contract, and you can see income in a month. As long as you keep the work pipeline filled, consulting can be as financially rewarding as working for someone else, with the added benefit of being your own boss.
But the consulting life isn’t that simple either. Many consultants are a few weeks or a few months away from unemployment; the constant need to locate and sign the next client can get wearing. With consulting, too, there is a fixed upper limit to your income: the number of hours you can work in a week times your hourly rate. Even if you get up to the $500 per hour level, this will ultimately bring you less money than one really successful product.
The other problem with running a consulting company is that there’s no exit strategy. If you build up a small business selling software, it has value that someone else may eventually buy: the potential of continued sales. Consulting companies have no value beyond the consultants who work for them, and thus are very poor targets for selling. Consultants tend to have to keep working, even when they feel like their company is successful.
So what’s the solution? In part, you have to choose based on your own skills and ideas: what can you afford, now and later? In some cases, the happiest web workers pursue a hybrid strategy, working as a consultant but setting some hours aside for product development. This can be the best of both worlds, giving you income up front and still leaving you the chance to hit it big in the future.