Five Years of Independent Software Business
Five years ago today I started working for myself writing software. The hard thing about the software business, for me anyway, isn’t the software – it’s the business. I’ve probably never learned more and certainly never earned less.
Products are obviously the best thing to do in software. Once you have built a product, you have within reason severed the link between the time you put in and the money you earn. You can make many additional sales with no additional effort: the immensely satisfying situation of earning money while you sleep.
However, you have severed the link between the time you put in and the money you earn. So you can put in a lot more effort for no additional sales. All products start this way; the trick is to know which ones are worth pursuing through the dip and which ones to cull.
In the meantime, of course, I need to fund my windsurfing habit: the wind is free but the flights to sunny, windy countries aren’t. So I’ve kept my head above water by writing software for other people as a consultant / freelancer.
I have launched four products now. The first two failed to take off; the third is doing well; and the jury is out on the fourth.
Number 1 in 2006 was Vortex, a desktop GTD app. It was the right idea, catching early the growing wave of GTD enthusiasm. But it was the wrong technology: Java Swing. I picked Swing so I could sell to both PC and Mac owners, but everything took longer to implement than it should have and the results never looked as good as I wanted. I came to loathe Swing. After eleven months I had sold about 15 copies. Suboptimal.
Number 2 in 2008 was Girls In Football, a site for girls and women who play football (soccer). Again this was the right idea: girls' football is the fastest growing sport in the UK, more girls play football than any other sport, and there weren’t any other sites for all these female footballers. However it was the wrong business model: our income depended on other companies' advertising budgets and these dried up fast as the recession bit.
Number 3 in 2008, and again in 2010, was writing up what I’d learned for PeepCode. The first was my Rails 2 Plugins PDF, and the second and third were my Vim screencasts Smash Into Vim 1 and Smash Into Vim 2. 37signals call this selling your by-products and it’s worked for me. Most of that of course is thanks to Geoffrey Grosenbach.
Number 4, started in 2008 and still in progress, is Sparkle, a business tool for the Fashion PR industry. I’m one of the last people you’d expect to be transforming Fashion PR, but there it is.
I’ve confirmed to myself multiple times that business software is more promising than consumer software. The standard for consumer apps is so high, the prices so low, and the competition so fierce that unless you can be number one – in which case you’ll clean up – you may as well start tearing up banknotes now. Business software arguably doesn’t need to be as polished as long as it does the job, and you can charge more. But the competition is still fierce.
Consulting / Freelancing
This is a huge topic but I’ll restrict myself to one aspect: pricing.
You can either sell your time or you can sell the results. I prefer to sell the results, in essence treating each feature or site or whatever as a one-sale product. The client doesn’t care what it costs me to produce, they care about the value the result has to them. Obviously you need to ensure the value to the client exceeds your production cost.
Of course it is notoriously hard to calculate your production cost – which is why so many freelancers transfer the risk to the client by selling their time instead – and next to impossible to calculate the value to the client. But still. Philosophically this seems to me the right approach.
The complication is that the client can’t know what they want until they’ve tried a first approximation. So you need to home in on the solution through close collaboration and frequent iteration. This is where pricing gets interesting.
Having said all that, you don’t get paid what something is worth or what it costs to produce. You get paid what you can negotiate.
Early on I read you should choose a domain and stick to it. The more you know about your domain, the easier it becomes and the more value you can provide. I agree.
It also makes a lot of sense to build stuff for yourself because then you know intuitively what to build. If you build for other people, either a product or as a consultant, you never know as reliably what to build.
However after five years I haven’t found a domain that grabs me. The domains I really enjoy, such as windsurfing, don’t seem tractable. For example just about every windsurfing centre is managed with spreadsheets, whiteboards, and pieces of paper. On the face of it this is ripe for replacement with a nice webapp…but no centre is going to pay much of a monthly fee for a webapp, no matter how much easier it makes life. (I’m still tempted to have a go so my holidays become business trips, or vice-versa!)
On the other hand, I know there are opportunities all around. You just need to tune in to them.
Another option is teaming up with an expert in a viable domain. I recently started collaborating with a top drawer geneticist; we’ll see what happens.
The Next Five Years
I still aim to devote all my work time to creating and building up a product I enjoy and use every day, and that other people do too. I’m not there yet.
Would I work for another company after five years of being my own boss? Not unless GitHub or 37signals comes calling. I love my autonomy too much.
All in all it’s been emotional. When it feels like nobody cares, it’s bleak. When it feels like people do care, it’s very satisfying.