April 9, 2012

...Learn TDD with Codemanship

Stop Chasing Exit Strategies And Start Chasing Great Software

Oooh, the shiny - it dazzles, it excites!

Today it was announced in the "Technology News" (though it's rarely about technology these days - they should just call it "Corporate Law News") that police state-friendly social networking site Facebook is acquiring pointless image filter service Instagram for $1 billion.

Now, I had a play with Instagram, and from what I could see of its design, they may as well have just had a big button with "Click here for Exit Strategy". But that could be said of so very many start-ups now.

Every software application should start with an overriding goal - a reason for it to exist. But increasingly, that goal seems to be to sell it to one of the big companies for a gazillion dollars, and all other concerns along the way are mere details. More and more products seem to solve no problem, and often they seem to have not just disinterest in their users' needs, but actual contempt for them.

My goal is to create better software (and, more recently, to try and help other people create better software). Most important to me is what value software brings to the people who use it.

I'm increasingly becoming frustrated by developers who just seem to be chasing the Almighty Dollar (or Pound or Yen). It seems to lead to empty software. Software that is, to all intents and purposes, nothing more than a lottery ticket. Issues like whether or not it solves the customer's problems or whether or not it enhances their lives or their jobs in some way take a back seat to whether or not we have the right exit strategy.

A classic example of this kind of thinking is the very damaging advice being propogated among the tech start-up community that the software that powers your new business only needs to last until you find a buyer. That's a perspective on "good enough" that I find dishonest and irresponsible. If a car company only built cars to last long enough to sell their business, the managers and engineers involved could be looking at custodial sentences.

If "good enough" is not driven by your users and their needs, then you should pack up and get out of the software business. You don't belong here. Go start a homeopathy business or something.

And the biggest irony is that, no matter how well they're run, the vast majority of tech start-ups will never achieve their exit strategy. Success on the scale of Facebook and Instagram is vanishingly rare, and almost entirely about being in the right place at the right time. So you'll almost certainly be stuck with that code you didn't take enough care over, and those users you didn't listen to for years after you thought you'd be sunning it up on a tropical beach somewhere while some mug like Zuckerberg deals with the consequences.

I'm a software developer, not an entrepreneur. What I care about is doing the best possible job of satisfying people's needs with the software I contribute to. And my primary focus is the end user. The game's afoot when we start getting feedback from real users. That's when we really start to learn what works for them and what doesn't.

And that's why I believe that it's so very important to be able to sustain the pace of innovation for as long as possible - years or even decades - on a software product, so we can keep learning and keep improving the product. I don't profess to know what users want, and I don't profess to know how to build a $ billion business. But I do know that companies that can sustain the pace for longer will eventually outlearn their competition and build better products and services. I've seen it many times (and watched the consequences of not doing it many more.)

Whether you achieve your exit strategy or not, there's an advantage to sustainable innovation. If your exit strategy's going well, it can get you there faster, and if you're going to be stuck with this technology for good, then it's definitely a wise precaution. At least then your going concern can keep going.

So my philosophy is to chase great software, and I'll gladly leave chasing exit strategies to the likes of Instagram.

Posted 9 years, 2 months ago on April 9, 2012