codersnotes

The Multi-Project Programmer August 26th, 2016

Every now and again I see this odd little pattern pop up. You'll be using some software, some big-name famous thing perhaps, and you'll happen across an article on-line where you discover it was written by just one guy. That's not so unexpected perhaps; every project probably started as one man's idea. The odd part is when you delve a little deeper into the history of this guy, only to find out he also wrote this other piece of software you use.

I see it happen time and time again. Look at Ludvig Strigeus. Maybe you'll have heard of him as the guy who wrote ScummVM along with Vincent Hamm back in 2001. But did you also know he then went on to make OpenTTD (a clone of Transport Tycoon) a couple of years later? That would have been enough for some people, but no, he still had a pressing need inside him to write a program called uTorrent. To finish off he went away and started work on a little music thingy called Spotify.

Or Fabrice Bellard for example. The man's a menace, he should be locked up. He's managed to litter a trail of big-name projects behind him -- FFMPEG, which powers probably half of the video players in the world. QEMU, one of the most famous machine emulators out there. Or tcc, the tiny C compiler which can boot Linux from the source code in 15 seconds. Oh and he wrote an entire Javascript PC/Linux emulator which runs in a browser. We need to stop him before he creates SkyNet or something.

There's Steve Streeting, the creator of the Ogre3D scene-graph library, but also the creator of SourceTree (the hg/git client). Or Justin Frankel, not just the main author of Winamp but also the Gnutella file-sharing program, who then also went on to help create the REAPER audio workstation. Many older readers might remember Dan Silva, the guy who wrote Deluxe Paint. But did you also know he then went on to put together some seriously big parts of Autodesk's 3D Studio?

I happened to be browsing the list of Hugo sci-fi award nominees when one name stuck out at me - the 1975 'best short story' nomination for a guy called P.J. Plauger. Wait, that P.J. Plauger? Yep, turns out that when he's not writing C++ runtime libraries he spends his time winning the John W. Campbell Award for Best New Writer.

I'm not even going to mention Elon Musk.

You should take some of this with a pinch of salt. I don't want to imply these guys did all the work on their projects -- FFMPEG has loads of contributors. ScummVM is the work of many people. But each of them started from a little seed, a seed which was planted by one person.

So what is it that these guys have that apparently no-one else does? Maybe they're just geniuses, but I don't think that's it. I think maybe they just a have a good eye for quality. They have strong ideas about the kind of things they want to exist and they're not afraid to get on with it.

There's a saying which I'm too lazy to look up but goes something like "don't invest in companies, invest in people." Software is one of the few areas where one guy on his own can have an idea and see it through from start to finish. The days of the lone inventor in his garden shed are long gone, but the spirit remains; it's just changed mediums.

I don't really know what I'm getting at with all this. I just find it interesting that there are people out there who aren't limited to one thing. There's supposed to be 7 billion people in the world, yet I find the same names cropping up again and again when you least expect them to. Maybe there are only 500 real people in the world and all the rest are NPCs, who knows.

I suspect what I'm experiencing is cargo cult development - that there's some underlying process I'm not understanding, and I'm just the guy studying the symptoms with the hope of figuring out the cause. Perhaps I'll never know. Still, there are people out there managing a string of unexpected hits, with no signs of stopping. Best of luck to 'em, I say.

Written by Richard Mitton,

software engineer and travelling wizard.

Follow me on twitter: http://twitter.com/grumpygiant