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."