Since I began my writing career three years ago, I’ve often been asked how I can transition from the disciplined field of developing firmware (a form of software) to the creative field of writing fantasy novels.
Well folks, they’re not as different as you might think.
Certainly, developing firmware is disciplined and hard work, but writing is both of these. Developing firmware requires you to be persistent, striving towards your goal, treading a path, which in many cases, has never been trodden before. Sound familiar?
Developing firmware, I often (too often) spent weeks on a particular area of code, polished it, tightened it, made it lovely, then found, as I proudly considered it ‘done’, that it didn’t work. Either the approach wasn’t good enough, or the requirements had changed. I would throw the last month’s work away and start again, often based on what I’d learned writing it the first time. ‘Killing your babies’ refers to firmware just as much as writing.
Developing firmware requires a feeling for the big picture as well as the minutiae. Everything has to fit. There’s no dead ends allowed, no unfinished paths. The whole must hold together as a sum of its parts. The earlier work must allow for the later, or the earlier must be reworked.
There is one big difference between developing firmware and writing a fantasy novel. The firmware developer can write the most brilliant code the world has ever seen, be incredibly creative, solve problems with a flair that should win prizes, attract pretty girls (or handsome men), but nobody will care. If it meets requirements, it’s good. If it doesn’t, it’s bad. Now you know why software developers have a reputation for being a little weird. They don’t get no appreciation!
Firmware just has to ‘work’. It has to fulfil the need. There are rough quality guidelines of space taken in memory, run time, and development time, and if it meets those, it’s good. Nobody cares how you did it.
“How you do it” is all that a novel is. How you get from the beginning to the end is what makes it work. Pretty much any fantasy novel can be reduced to: “The good guys fight the bad guys and the good guys win”. But try selling that on Amazon. What makes a novel a good read is the fight, the people and how the good guys win.
So, developing firmware and writing a novel requires a lot of the same skills: creativity, persistence, an eye for minutiae. The difference is, writing a novel gives you the chance to hear that people like how you did it!