Learning Software Development with Microsoft Office

I was recently listening to a JavaScript Jabber podcast featuring Dan Abramov, where he stated that he got into software development because at school he was taught PowerPoint: he loved making animations, and one day discovered the macros that powered those animations. These macros were actually scripts: by changing values within them, Dan could programatically alter the animations.

This reminded me of my own route into the software industry: though WordBASIC (most of you under 40 probably won’t remember WordBASIC: it’s what Word macros were written in before we had Visual Basic for Applications).

At school, I had learned BASIC on the school’s RM380Z (yes, one computer for a school of 900 pupils, those were the days!) We used to queue up at lunchtime computer club to get the opportunity to bash in a few lines of 10 PRINT "DANIEL IS GREAT "; 20 GOTO 10. I eventually got my own ZX81 and I have previously written about how, a couple of years later, ITV gave me my BBC Micro. When I was 14, myself and David Swaddle even formed a software company, DSoft — we had a logo and everything! We never did get any finished software products out there, although we did spend a lot of time when we should have been in school, swanning around computer shops, talking up our unfinished games.

When I left school to go to sixth-form college, I completely abandoned computers. I’ve no idea why, I guess I had other interests, but it was another five years before I touched a keyboard again.

In my final year of university, my dad bought a shiny new 386 PC, complete with Wordperfect 5.1. I wrote my dissertation on it, and I also took the mothballed BBC Micro back to Bristol with me, to write revision notes and essays on. But I was no longer programming: by now I saw computers just as a tools for essay-writing and game-playing.

It wasn’t until a few years later when I was working at Olivetti Financial Services that I rediscovered coding. And it was Microsoft Word that prompted me to do so. I kept seeing that mysterious “Macro” menu, and wondering what was behind it. It baffled me completely: surely a Word Processor was for typing words into. What on earth could be in there that could warrant writing a program? Surely such a program would only be useful for writing one document, and then you’d have to throw it away.

This question nagged at me for some months until, one unexciting weekend in Hounslow, I locked myself away for two days and dug deeper. By the end of the weekend, I had created a document template for a Warhammer Fantasy Roleplay character sheet (I was very into my RPGs back in those days), complete with a rather large Macro which would populate that sheet with a full set of randomly-chosen characteristics. It even assigned you one of the large range of careers available in the Warhammer world (from Agitator to Woodsman, via Jester, Rat Catcher and Wizard’s Apprentice) and whichever random possessions went with that career. I was incredibly proud of what I’d achieved, and suddenly Word Macros didn’t seem so silly.

That crazy weekend of hacking sparked off a lightbulb moment. I’d always enjoyed programming at school, and been good at it. I didn’t particularly enjoy my current job as an office dogsbody. Working as a programmer, I could have more fun and get paid loads more. So I spoke to my database developer colleague at Olivetti, Darrin, and he recommended that I got a copy of Turbo Pascal. I did, and worked through some exercises, then signed up for night-school in C, C++ and Visual C++ programming.

The next year or so was all about getting up to speed and employable. When I did finally start applying for developer positions, it was a lot harder than I’d expected: everyone wanted either years’ of previous experience coding professionally, or a university degree, and I had neither. Luckily, at the same time the Internet was starting to become available to home users, and forward-thinking companies were beginning to demand websites. I learned Perl in 24 hours, and strolled into a job at publishing company Hard Media, who were increasingly being asked to build sites for their advertisers. I hit it off with them straight away, and have never looked back since (and, I’m happy to say, I still occasionally get to work with the people who hired me twenty years ago).