How to make it as a software developer

FXpansion's Angus Hewlett shares his tricks of the tech trade

Angus Hewlett is the CEO of FXpansion, the London-based music software development company that he set up just over ten years ago.

In that time, the company's products – including BFD, Guru and a raft of VST adapters – have become legendary in computer music circles.

How and why did you first get into music software development?

"For a serious hobbyist musician/producer with a computer science degree, it was something of a natural progression for me. I started off writing free plug-ins for fun in my spare time, then started to make a bit of beer money selling shareware, and eventually after a couple of years found myself making almost enough to live on.

"It seemed the best way to combine my chief passion – music – with my skill set – technology, and in particular, software. So I quit my job and networked intensively, filled any gaps with contract work, and after three years took on a business partner and set up a limited company.

"There were virtually no companies developing audio software in the UK at the time, so I pretty much had to either move abroad or start my own business."

What have been your greatest software products, and why do you think they proved so successful?

"In general, the software that does the best commercially is the software that solves a problem people know they have. Occasionally you'll get an era-defining piece of software like Reason or Live that creates a whole new category and way of working, but those are very much the exception and not the rule.

"Our biggest hits have been the BFD line – because it sounds better than pretty much anything else available, and because for most people, recording drums that sound as good is beyond their reach – and the various VST adapters we've released over the years (DirectX, AU, ReWire and RTAS), because people always find themselves wanting plug-ins that are only available in VST to work on other platforms."

So how do you decide what would make a good plug-in or app?

"There's no one test. We listen to customers, listen to outside ideas, basically try to pay attention to what's going on in the music tech scene of the day, see what kinds of things people want to do and are having difficulty with, and what new technology – mostly ever-faster CPUs, and new academic research – might enable something that wasn't possible before."

What does programming a good piece of software take in terms of time, resources, troubleshooting and so on?

"More than you'd imagine, although the programming itself is really only part of the picture. There's a whole lot of other stuff that's required to make an app successful – manuals, quality assurance, sound design, tutorial videos and after-sales support, to name but a few.

"That said, there are a few very small companies out there – maybe one third the size of FXpansion or one 15th the size of Waves or NI – that are able to do most of that to a very high standard by striking a careful balance of core staff, skilled freelancers and volunteers."

How has the software development landscape changed in the ten years you've been doing it professionally?

"Looking back, the period from about 1997 to 2003 was a bit of a Wild West for computer audio technology in general – so many new opportunities had opened up, and there was something of a scramble to be first to market in all sorts of fields.

"Even though the market become saturated at the entry level pretty quickly, so many new users were coming to computer music – and indeed still are – that the game quickly changed from a race to build features to a race to improve quality and usability.

"That trend has continued, but the upshot is that some of the major companies are looking at development budgets in excess of $1 million per product, and that in turn has created space for a vibrant, if at times somewhat under-funded, indie scene.

"The other side of the coin is that ten years ago, making music on a computer was something only enthusiasts and high-end professionals did. Today a computer is effectively the standard tool for music composition and recording.

"What that means, though, is that the average computer literacy level of the user base has gone way down. As late as 2002, most of my customers preferred to install an app manually, with no installer – just a Readme file. Today, many of our users have little to no understanding of basic things like the file system layout – and why would they be expected to?

"The knock-on effect, though, is that we have to put a lot more effort into simplifying some aspects, and into education, training and support, which in turn means there isn't as much left over to spend on geeky, bleeding-edge features as we might like."

What are the essential skills a developer needs to succeed today?

"For a would-be founder, you need genuinely good, inventive but realistically achievable ideas, good networking (in the social/business sense, not the TCP/IP one) and hopefully some C++, in that order.

"Ingenuity in solving problems, whether they're technical (how to make a better sounding oscillator for less CPU, or a copy protection that will keep the pirates at bay for six months) or business-related (how to launch a product with no marketing budget, how to get some nice graphics with no graphics budget), is a must.

"You also need good understanding of your own strengths and weaknesses, so you know what to buy in, delegate or outsource, and when. There are very few individuals – if any – who can do everything required at the level necessary today for even modest commercial success.

"For a would-be employee developer, the essentials are good C++ of course, clean coding, flexibility, willingness to learn, and a real understanding of software engineering – not just 'this is Agile, this is Waterfall', but a feeling for why the various methodologies came about, and how to adapt the ideas contained within them to different scenarios. And of course, you'll need a love of music and audio in general, and a feeling for how composers, producers and sound engineers go about their work.

"Developers tend to specialise towards the DSP/audio theory/ mathematical side of things, or the software architecture/systems architecture side. Most can do some of both but will have a strong leaning towards one or the other, and it's good to know where your aptitude is."

What are your thoughts on piracy and the future of music software?

"While it's not pleasant to get ripped off, there are so many wonderful things that come with the connected world. For one, it's inconceivable that the plug-in scene could exist in anything like its current form without it. Looking at it that way makes the dark side easier to accept.

"That said, software developers have an easier time in some ways than the music industry – because we're shipping live code, not just data, we're able to take various technological countermeasures to make pirates' lives more difficult, and these are fairly effective nowadays."

What's the most difficult aspect of the job?

"Maintaining anything like a sane work/life balance! There's always more to be done, and everything can always be better. It's not like physical work or exercise, where your body will eventually tell you when to stop – and even if it does, another few hours' work is only a triple espresso away.

"Burn-out of one kind or another is a real risk, but at the same time it's hard to turn down work if it's offered."

How much money can one earn from this kind of work?

"You can make enough to have a fairly comfortable life, even in London, but equally at any given skill level you could typically make a lot more doing something else, whether you're a coder, graphic designer, documentation writer or test engineer.

"The working conditions do tend to be pretty good though – it's more flexible and more interesting work than typical corporate coding gigs, and much less brutal than the games industry can be.

"There are very few bad employers in the business… virtually all the companies I've visited seem like first-class places to work, compared to the job market as a whole."