Wednesday, July 31, 2013

Guest Blog by Erik Larson

Today, I'm posting a piece by W.E. Larson, one of my critting buddies over on FWO. Erik is a software engineer by day and a fantasy writer by night, and he's currently working with his agent to get his first novel, COG (a MG steampunk novel) polished for submission. Erik's characterization, storytelling and world building are fantastic, and his writing process fascinates me because it is almost the polar opposite of mine. I'm an inveterate pantser whose creative gears really don't get turning (aside from having a sense of the characters and their general problems) until I start writing a story. He is a planner who works best from a detailed outline. Erik's day job gives him some perspectives into the creative process.



Creative Writing and Coding

 By trade, I'm a software engineer. I'd really like to say writing code is like writing fiction. It's pithy, and it makes it sound like my working life somehow provides a hint of credentials for my writing. Hey doesn't Wordpress say that code is poetry?
 However, I can't really say it is, but there are some virtues that apply to both. Creativity is essential at a conceptual level. The best fiction has a creative concept that brings something fresh to the reader. In much the same way, the best software brings something new to the user. There's a place for stories that follow an existing formula and software that doesn't do anything new, but they won't win any awards or make the user/reader go "Wow!"
 At a lower level, both fiction and software need to be understandable. If a story’s writing is an impenetrable wall of opaque metaphors and pretentious phrasing, then the reader is likely to give up rather than admire the author's cleverness. This is like the user-interface of a piece of software. The UI might be clever and efficient, but if the user can't understand it then it's useless. There will be some readers or users that will take the time to penetrate the writing or UI, but should they have to do that?
 Once you get to the words or code, then the mediums get really different. Here's the thing, good computer code should be boring. There's actually a concept in software engineering called "Design Patterns" where you use well-established solutions to particular problems. I have a book filled with these patterns that I can refer to when I run into common problems that need to be solved. It's like a writer having a book of clichés that he or she pulls out to resolve plot points. Good if you have code that needs to be understood by others, bad if you're reading for entertainment. Likewise, a clever turn of phrase can be entertaining in a novel, but a major headache in software. If a software engineer writes code that isn't easily understood, he or she is not going to have fun when annual review time rolls along.
 So, writing code isn't all that much like writing fiction--being a software engineer isn't going to give you some sort of credentials as a writer. But when you get above the code and into concepts, maybe there is some synergy (that's right I used a buzzword, wanna make something of it). In a sense, software is about telling a story of what a user does and what that action accomplishes. In fact, there's a software creating process called "Agile" in which software actions are actually called stories. Obviously fiction is about telling a story. If that fictional or software story isn't any good, then there are no words or code that will make it good.
 In software or fiction, it's the tale that counts the most. To misquote Shakespeare, "The story's the thing."


No comments:

Post a Comment