In some ways, wanting to make a living as a Software tool writer is like wanting to be a professional rock star or footballer. The success-stories are more visible than the others. Here, Andrew Clarke salutes the others and explains some of the pitfalls. Despite everything, he is always keen to wish anyone luck who wants to give it a try.
One of the best programmers that I ever recruited dropped the bombshell after a year's harmonious association, announcing that he was leaving to start up his own company, selling software.
It wasn't the first time such a thing had happened but I became distressed, not just because I was losing a good programmer, but because the guy had become a friend, and I could see his fate just as clearly as if I were Madame Mim and her tea leaves.
The more I pleaded, the more obdurate he became.
"This software you're selling; is it selling well at the moment?" I asked
"We haven't written it yet, but we're sure it is going to be popular"
"Have you got a business plan?"
"Eh? What's that?" Pause. "Andrew, are you all right?"
(Cue strange music, the screen goes watery)
I was not dead or apoplectic, just lost in reverie. It was twenty-seven years ago that I first became what is now called a 'software tool vendor'. I'd built one of the early CP/M-based microcomputers. They came as a 'kit' - just a whole lot of PCBs, components and a pile of chips – because assembled, working micros were too expensive for an individual to buy. When the beast finally fired into life, a few months later, I knew a great deal about the way it worked. CP/M was the only operating system around and Microsoft Basic about the only language. I was a typical user: I filled the floppy drive with a great deal of work and didn't do backups properly (backups with only one floppy disk, and nothing else, are problematic). I then accidentally deleted the contents of the disk.
In a frenzy of despair and worry, I wrote a fairly simple utility that 'undeleted' the files I'd deleted. After a long struggle with the machine, I had it working, and became pretty handy with assembler code in the process. I was so pleased with it that I gave it away free to the CP/M users group.
I quickly realized that it was very popular.
I had stumbled on a simple secret of success. This program had all the virtues of successful utility software in that it solved the problem of guys in a crisis with a thick wallet. I was also the first to turn this particular, simple process into a product that anyone could use. Quickly, I tidied up my public-domain code and started to market it via a friend who owned a local computer franchise. In those days, it was a simple matter of buying advertising space in the PC magazines; there were only two of them in the UK at the time.
The resulting success of this code kick-started me into an IT career, and very soon I had a software house with a staff of twenty, writing and selling all manner of software products such as payroll systems, customer databases, and accounting packages. It all seemed terribly easy.
It wasn't.
Have you ever played a computer game where you stand there and ghastly slavering monsters come charging at you out of nowhere, one after another, making blood-curdling noises? You are required to stand there killing them one after another. I can't play them: it is just too much like the real life experiences of a successful software vendor.
These slobbering, warty monsters come with ghastly inscriptions such as VAT Inspector, Solicitor, Competitor, Employee, Journalist and Taxman tattooed on their receding foreheads. Nobody really likes success in others, least so the public-sector employee. These creatures employ subtle malice to cause stress and create havoc.
On top of that, one has to contend with the notoriously cyclic nature of the IT industry. Everyone remembers the good times in IT. The good times are wonderful. I shall never forget, at one Computer Exhibition, looking up from our stand at the sea of faces, cheeks aglow, firmly intent on buying our software. We had to press friends and relatives into manning the stand to take all the money.
Few people, however, remember the bad times. But they come with the inevitability of the grim reaper. At the same exhibition centre, a year or two later, we had to pretend to talk to each other on the stand to maintain the illusion of vibrancy and cheerfulness; the occasional punter who drifted past could not even be persuaded to accept the software for free.
One friend of mine, an IT contractor, came up with an interesting solution to the "bad times". He trained as a butcher as well as a programmer, and just switched careers on every downturn. However, it is far from easy for a Software Vendor, with a large wages bill, to ride the wave.
(Cue strange music, the screen returns to normal)
"Oh, I'm OK," I said coming back from my reverie, and blinking at my best programmer, and friend, who'd just told me he was leaving.
He looked at me expectantly. "Well, what do you think?" he asked. "After all, you've done it."
"Bless you and good luck" I said, shaking him by the hand. "There will be a job here for you if it doesn't work out."
I almost said "…when it doesn't work out", but checked myself just in time.
I knew from experience that this was something that any good programmer had to get out of his system. There is a deep-set fallacy that if software is well-written, and full of features, then it will sell. This is like saying that a well-performed song will get to the top of the singles chart by sheer merit. The analogy is fairly close, because in both cases one has to hit the zeitgeist, the spirit of the age. Quality helps one's chances, but is, by itself, insufficient.
I keep in touch with some of my contemporaries, who once ran successful companies, writing and selling software tools. One breeds racehorses with only moderate success; another is trying to get a local television station off the ground; another is a consultant with a large ISV. None of them are still in the business. One of my friends, who once made good money from writing and selling software tools, confessed to me that once he counted up all the hours he'd spent, he worked out that he'd have earned more money babysitting.
I keep wondering why I even think about developing software 'on spec'. I suppose it is the giddy, unforgettable excitement when that one application in the ten that you write takes off. But easy it isn't.
Anyone who is, or has been, in the business of software, whether they are programmers, product managers, development managers, marketeers and project managers should have a look at what Joel Spolsky and Neil Davidson are doing with Business Of Software. Registration for Business of Software 2008 will open on April 14th. It will be held in Boston MA on September 3rd-4th. Neil's Blog will keep you up to date.