WTF? Where do you have your experience with software engineers from? We do not read fiction that often? We read fiction all the time. Science fiction, fantasy, what do you think? Even talking to our boss is fiction.
–
John SmithersJan 29 '11 at 17:33

This question is a chatty, forum-style question that's polling the community. Not sure why this was left open, aside from it being very old.
–
Neil Fein♦Dec 24 '11 at 21:41

13 Answers
13

First, a disclaimer: I'm not a novelist, not by a long shot. I've written some (local award winner) short stories as a teenager and I'm working on my first novel, but that's it. On the other hand, I've been practically born an engineer :)

Having said that, I guess there are many different approaches to writing, as many as there are people. As a programmer you probably have developed rational thinking an analytic skills, that can be extremely handy when attempting to write.

I'm approaching writing from that perspective. I'm very interested in books that deal with narrative structure - in a way, I'm trying to figure out "how stories work". For example, The Writer's Journey deals with the classical myth structure and archetypes. I also liked Screenwriting: The Sequence Approach.

But the book I connected with most is Writing Fiction for Dummies. Yes, it's a For Dummies book, but it's written by a guy who is both a published, award-winning novelist AND a PhD in astrophysics and/or math (not sure). His approach is called "The Snowflake Method", in reference to the fractal structure of snowflakes, which he uses as an analogy for the structure of fiction.

He has a very interesting blog and website with articles (just ignore the ugly design). I'm in no way affiliated with them nor with the books, I'm just a reader and fan :)

In summary, I think as engineers wearing the fiction writer hat, we should definitely take advantage of our strengths.

At the high levels of the hacker ranks, I've found many polymaths. In these cases, at least, there isn't really a transition from coder to novelist. One just gets tacked on without altering the other. :)

My advice is to just jump in the same way you do to any new area of endeavor: look at work product (fiction) you like and try to figure out what makes it as good as it is; read about the art and craft of creating it. Practice, get feedback from peers, and practice some more.

I think the hardest thing for a programmer dealing with writing fiction for the first time is the total lack of metrics with which to self-evaluate. Learning how to evaluate your own writing is most easily learned from experience evaluating others' writing.

Great question. I'm actually working on a MA in Writing Popular Fiction at Seton Hill University, and I'll graduate in June. My thesis is a horror novel approx 80,000. In the space of 18 months, I completed two drafts. I started my second revision (third draft) last night.

Did the transition from coder to novelist come as a result of laborious study and training(professional/self), or did you employ some other strategy?

Writing is less about studying and more about practicing. You can read all the books you want, but the fact is that reading a book about writing is not going make you a better writing. It's not like learning how to code where you can develop your skills by studying a book. I found my best textbooks are current popular novels. Study those, not the how-to books. That's like studying the sample code, seeing how something actually works as opposed to having it described to you.

I have only one book to suggest: On Writing, by Stephen King.

Only writing will make you a better writer. Write something. Revise it. Share it. Accept any feedback with open arms. It'll suck, it always does the first time, so write something else. And then something else.

If you can, find a local writer's workshop. If you can't find a local one, then check online next. I strongly suggest finding an in-person group, as you'll get a lot more out of person-to-person interaction than in getting comments through email.

What characteristics of the coder mind-set lend themselves to writing fiction well, and which ones are a hindrance?

If you list out the characteristics (don't assume we all share the same list), then I can comment on them.

Are there any habits or "mind hacks" that you can recommend for getting the coder mind in shape to do serious fiction writing?

The only habit to develop is to sit and write every day. Start small. Take a page from The Pomodoro Technique. I use Focus Booster and work in 25 minute stretches with 5 minute breaks between. I write about 90 minutes every night.

For the record, you can't become a programmer just by reading about it. Like writing, reading about programming will give you perspective, inspiration, and teach you some techniques; but you're not going to get past cut and paste without exercising that brain with real problems.
–
Jethro LarsonFeb 5 '11 at 2:00

1

Sorry folks -- I didn't mean to imply that one learns programming by reading a book. I know it doesn't work that way. Poor comparison on my part. Only by writing novels can you become a great novelist; only by writing code can you become a great programmer.
–
D-DayFeb 5 '11 at 2:54

A programmer becomes a novelist the same way someone from another profession becomes a novelist: by writing fiction. A programmer may write science fiction or novels that are heavy on technology, just as an attorney might write legal thrillers or murder mysteries. The fiction flows from the author's own background mixed with a good imagination.

I'm a software developer of some decades of experience, and I've written a lot of early drafts for novels so I have form.

What I have found helpful in my fiction writing is:

cohesiveness. Writing software teaches the need to have a complete logical progression from beginning to end. This make scene sequencing a natural thing to do, and means that plots are very likely to be cohesive.

persistence. You know that bug you spent a week chasing down? Now think about how that dedication to finding the problem will translate to debugging your plot timeline, or finding the right way to place a gun in your main character's hand at the proper time, or fixing the setting when you realise your orbital mechanics are entirely wrong.

extreme pedantry. I've been told by many writing friends that I generate very clean copy. Attention to detail is a useful attribute for both programming and story telling.

For myself, I identify as a writer who works in two media: code and English. So far I've only been paid for my code, that's all.

Also, while a lot of the programmers I know do read a lot of technical manuals, they are also big science fiction fans, and I think that almost all of them would be great writers. The act of great programming is telling a story, directing a user to a goal, and showing other programmers what your code is doing.

ggambett mentions Writing Fiction for Dummies, and it's a great starting point. Lawrence Block, a mystery writer, wrote a great process book called Writing the Novel From Plot to Print. Granted it's from 1979, but it's highly accessible, and describes how he made a living writing all kinds of novels.

I am not a novelist, but I am doing more writing now than ever. I started with blogging, and then a few years ago started work on a liberal arts graduate degree (theology). When I went back to school, I ended up changing jobs, moving from solid software development work to being the technology director at a prep school. The school job does not involve the overtime I typically put in as a programmer, which leaves me time and energy for my graduate work. We also sold our house and moved into an apartment, which removes the time demand of house/yard maintenance, and lowered our expenses so I could take the lower paying job.

As you can see, I've made several life-style adjustments to accomodate this change. I'm still doing technical work, including a little programming, because it is the way I know how to make a living. I am writing for my theology classes, work, blog, and other occasions. When I finish my degree, I plan to do more writing. However, I realize that it is rare for people to be able to make a living writing, so I am glad to have my technology skills.

Isaac Asimov and Arthur C. Clarke weren't programmers (AFAIK), but they were certainly geeks and wrote huge bunches of award-winning science and fiction, so that's not the problem.

The issue for a lot of left-brainers (myself included) is getting in touch with our emotions so that what we write isn't too dry. Emotion and empathy are what gives stories and characters "life" and makes them worth reading.

The best ideas won't work in fiction without humanizing them - having the characters discover and experience them - not just lecturing the reader about some new concept.

I'm currently listening to Rendezvous with Rama (Clarke) and that, IMO, Hugo Award not withstanding, teeters on the edge of expounding scientific theory at the expense of good story telling.

Object-oriented programming transformed dry processes into things that look a lot like characters.

If you're any good at writing software (and I assume you are), then you already have the creativity and problem solving skills needed for writing. You just need to develop a new set of heuristics!

Engineers and computer scientists (of which I am one) are, for the most part, left-brained thinkers by nature, by education, and by occupation. This means that we excel at detailed, sequential, textual, analytical thinking, which are all purveyances of the left brain. The right brain, conversely, deals asynchronously with putting things into context within the big picture. These processes are the power tools of the creative process that sculpt shapes and colors into eye popping presentations and words into creative writing.

It’s true, creating compelling content requires skills of artistry, but these skills can be learned, practiced, and improved upon. Understanding the way in which our brains respond to images and stories, for example, are a great advantage when creating content.

My transition occurred over a period of years, during which I read a number of books on writing and creativity. It does require that we a) learn how to write stories and b) adopt a lifestyle and routine that lends itself to creativity.

Here's a reading list I would strongly recommend (I'm a new user so the system wouldn't let me post links):

"Story" by Robert McKee is THE definitive work on how construct stories. It deals very specifically with screenplays but its principals can be adapted to other fiction media. If you're going to read one book about writing fiction, make it this one.

"A Whole New Mind" by Daniel Pink discusses left vs. right brain skills.

"Understanding Comics" by Scott McCloud fills in many of the cracks between the written word and visual communication.

"The First Five Pages" by Noah Lukeman offers advice from a frustrated publisher's point of view on how to tighten up a story.

I'd like to add one more thought that has greatly helped me as a writer, from software development perspective:

Find the right tools.

Just like in software development, you'll benefit from getting the right tools for the job. This applies both to software... and the fiction-writing thing, but mostly to software. Also, as in development world, not all tools are appropriate for all jobs. Use whatever tools you need to get the job done. Remember that there's no magic tools that can make you mysteriously not suck overnight, but everywhere around you, you can find tools that can help you learn and help you make better fiction.

And the really fun part is, a lot of the software development tools can be repurposed for fiction. I really like git, darnit, so I use git for versioning and syncing my work. If you've run across a neat program for real-world use, don't be afraid to use it to help it for fiction writing. (A recent example from my own case was that I picked up Gramps, a genealogy package, and found it to be extremely useful for character data as well.)

Also, remember that there's always time to design and time to write code. Similarly, there's a time to plan and time to write. Writing whatever comes in mind may be a viable strategy but it can produce junk. Planning stuff meticulously may be a viable strategy but leads to the analysis paralysis. Finding the right kind of equilibrium between the two ends is probably easier in fiction writing than it is in coding.

Beginning writers often get this tip: Don't give up your day job. You won't be able to make a living out of your writing for a few (or even many) years. For software engineers, there is always a lot of demand, so you may be able to save some money and then take a sabbatical, which may make it easier to focus on your writing. You may be able to combine a full-time job with the preparation phase (collecting ideas, drawing the high-level plot line, making detailed descriptions of characters). But once you actually start writing, it is much easier if you can just put your job aside for a while. Software is a profession that allows this.