An Election that You Can Feel Good About

By now you have heard that the United States of America is holding an election. Words like “interesting,” “exciting,” “depressing,” and “I can’t believe that he said that!” have poured out of media. This post is not about that election. Thank all of the relevant deities.

This is about a different election. I am in the last stages of publishing a science-fiction novel A Shepherd of the Arisa. Part of that process is to have a professionally designed cover created for the e-book. I have a poll for the best cover. Please vote in a “nice” election. You will feel better for it.

Panic, Madness, Joy, and Craftsmanship

I have “finished” the second draft of the novel, “A Shepherd of the Arisa”. I have rewritten, edited, smoothed, and adjusted, each time trying to shape the words into ideas that can become enjoyment and enlightenment in the mind of the reader. I am so familiar with the contents of the novel, that the actual words are masked by what my mind thinks that they should be. I think it is in good shape. My wife has read it and thinks that is in good shape as well. But what do we know?

Accordingly, I have decided to inflict the manuscript on a half-dozen beta readers. I’ve negotiated what I want from them and sent the novel out into the world in various formats for them to read and comment upon. In a less than a month I should have all sorts of actionable suggestions for performing surgery upon the novel. It is more than a little scary. They might come back and tell me that I’ve written rubbish. Then again they might tell me that I’ve been just flat out brilliant. Like I said, it is scary. But scary is often the price for learning something new.

This period of waiting for feedback from the “real world” is what I call the “post deadline funk.” I have scurried around for several weeks trying to get all the various piece parts of the novel in place and brought up to a reasonable level of quality. I have shipped the manuscript. Now I am sitting around waiting for the real world to validate my efforts. I have tasks to accomplish but none of them are particularly meaningful in the absence of a publishable book. This is a fertile time for doubts and misgivings.

This would be the point in a software development project to reflect on how the project unfolded. What worked, what did not work, and where could we improve things? The reflection might be informal, carried out in a local eating-and-drinking establishment. The reflection might be formal, with agendas and minutes, and formal protocols of analysis, carried out in a conference room. The reflection might be ugly, with shouted recriminations and repercussions. The reflection might be peaceful and thoughtful, with reasoned calls for future actions. I have been through all of the various flavors of reflection. They are always about the people, the goals, the process, the tools, the methods, the technology, and the politics.

Particularly the politics.

But this project is “writing a novel” and at this point in the process there is just me in here, word smithing away. I am the project sponsor, the project leader, the architect, the scribe, the quality assurance person, and the “whatever else you can think of” person. The closest thing to politics is the ever-present background hum of self-doubt. Am I doing this the right way? What could I do better? What more should I be doing?

Old habits die hard.

A novel is a big effort. I cannot imagine doing something of this size without reflecting on how well I did it, and seeking better ways to get the work done. I have set out to become a writer of fiction. I want to produce books that entertain people while at the same time make them think about technology and its effects on society and individuals. I want to think out loud.

To be clear, this is not about “making a living” as a writer. I am retired; I had good jobs that paid well. I saved my money and invested. The wife and I are just fine, thank you. This is just as well. Writers do not make much money. I do not expect to make any “serious money” from writing. I do this because I am fascinated with ideas, because I enjoy learning about science and technology, and because I need to have practical goals (such as writing a novel) to be able to “put it all together” in my mind. But, note that if the money does come, I am keeping every dollar of it.

Old habits die hard.

I have always thought of myself as a craftsman. By craftsman, I mean a person who produces works of practical value, who has distinct skills and tools that are applied to produce results, and who strives to improve his or her skills and the mastery of the related tools. I worked to be a craftsman in software development. I now work to be a craftsman in writing. For me, craftsmanship goes beyond being a competent professional; it is about a disciplined passion for quality.

When I worked as a software developer, I read books, listened to podcasts, subscribed to blogs, and wrote articles as part of a continuous effort to understand how to better perform my craft. I created hundreds of prototypes that employed each newness of the moment. I did technical presentations in the local technical community. A day in which I did not learn a new fact or technique was a day wasted. A day in which I did not become a better software developer was a dark and dreary day. After a while, this daily focus on learning and improving, driven by a lingering self-doubt, has become a habit that continues even after the job and the profession have fallen away.

Old habits die hard.

Writing is about “doing something” and “doing” can always be improved. I look at what I have written and try to learn from it. I read webpages dedicated to the craft of writing. I am on a half-dozen email distribution lists concerning writing, publishing, and the related marketing of books. I listen to podcasts on the subject. In general, I think that my consumption makes me a better writer, but all these various sources collectively remind me every day that is so much more that I need to know how to do, if I am to be truly successful in presenting ideas in a form that is attractive to readers.

One of things that I’ve run across in my quest to be a better writer is this notion that there are patterns of how one writes a novel or a short story. Some of these are packaged up with names such as Snowflake and MICE. Others are described as variations on a three act structure. I am sure that if I look, I could find many more of these writing patterns out there in the wilds of the web. I will tell you that I have not looked at any of these in-depth. Why, you ask? Because I am afraid of what I might find. I will come back to this fear after I’ve described a few things about patterns.

As a software developer, I am very familiar with patterns. We have all sorts of patterns in software development. The notion behind design patterns is that if you have a particular kind of problem, there are only a limited number ways to build a solution for that problem that make sense. There are thousands of patterns that have been defined for all sorts of different situations. Each pattern specifies the conditions under which the pattern applies and details the elements to consider when applying the pattern. The pattern does not dictate the technology or the implementation; it suggests a way to think about solving the problem.

Consider the number of different analog clock faces that you might have seen. There are hundreds of them but they all follow the same pattern of how the numbers are arranged around the clock face. The size of clock might be bigger or smaller; the materials from which the clock is constructed might be wood, plastic or metal; the numerals might Arabic, Roman, or even missing; and the colors might be stark black and white or all the colors of the rainbow. All of these things might change but the pattern of the clock is constant and recognizable to a person walking through a room. The design pattern provides a checklist of the aspects that must be taken into account during the design and implementation of clock faces for that recognition to occur.

This same relationship of pattern to implementation applies to the architecture for buildings, the design of software, the plans for automobiles, and the writing of novels. The names might be different but the concept is unchanging.

Learning design patterns is not without peril: you begin to see design patterns in everything. You get caught up in the search for the perfect design pattern, leading to severe “paralysis by analysis.” Everything but the most simple of software systems can and will involve a dozen different design patterns. If the integration of these patterns is done right, the result is a smoothly operating piece of software. If the integration is not done right, the result is complexity and confusion. There is a seductive madness to all of this. This is a way to improve. More is better! Right?

After a while, similar to other shiny new things, the glow of design patterns fades. The craftsman absorbs a relatively small number of patterns that fit together properly and begins to use these patterns instinctively. The result is not fancy or perfect; it does not explicitly use every pattern that it might, but it is certainly functional and delivered within budget and schedule constraints. This particular flavor of “improvement madness” recedes and makes an opening for the next.

Writing also has what I think of as design patterns. Consume enough material about “how to write” and the patterns emerge: milieu, idea, character, event, denouement, and evolving change within the protagonist. Essential structural elements within the patterns guide, but do not dictate how the author arranges the elements of the novel. As with software, these design patterns occur at all levels of detail: syntax, selection of words, paragraph structure, scene layout, the organization of chapters, and the overall structure of the novel. There are patterns that describe the rules for action, description, dialogue, language, emotion, and a whole list of things that I have not learned about yet.

The amount of “help for the writer” that is available is a problem. There are different sources advocating different ways of doing the same thing. Each pattern takes time to learn, to apply, and to evaluate, sucking up more time to untangle concepts, master techniques, and assess applicability. There are the choices that must be made in the absence of complete and clear information. There is always the fear that any given choice is the wrong one. And then there are the choices that you do not know about. Is there is a new and better technique over that hill or around the next bend in the river. This is the siren song: the new and shiny must be better than what we have right now. Right?

Old habits die hard.

The sign says, this way to “The Spiral of Madness.” I have been here before, many times for many different improvements. I understand that the situation calls for discipline. Some newness might nourish the goodness of the work. More might crush it under the wheels of repeated “let’s start over so that we can use the best”. Always, the best is the enemy of the good (enough). There is a time to try new things and there is a time to avert one’s eyes and keep one’s hands in one’s pockets. But it is hard to know what the right thing to do is.

My strategy in applying these patterns in my writing has been to concentrate upon the patterns for lower-level details. How to structure sentences. How to organize the sentences of the paragraph to convey the message to the reader effectively and efficiently. How to tie the end of a chapter to its successor to engage the reader. But I’ve made almost no effort to implement the patterns for higher-level details.

Old habits die hard.

Socrates said, “The unexamined life is not worth living.” Mastery is not achieved by floating along without challenging the current way of doing things. There is a pressure to think about what I am doing, about what I am trying to accomplish, and about how satisfying the results of my efforts are. I cannot be satisfied until I understand the reasons behind the actions that produce the good results. I want to make those good results happen again and again. I need to learn how to do that. I accept that I will never understand everything but that does not exempt me from having to try.

But still I hold back applying the more encompassing patterns. Why? The answer is fear. It is one thing to rewrite a sentence to be more forceful, or to rewrite a paragraph to be better organized. It is quite another thing to realize that the book that you have just written does not follow any of the prescribed patterns. I am already unsure of what I am doing; knowing that “experts” are casting aspersions on my work amplifies my uncertainly to raging doubt.

Am I wrong to avoid such knowledge? I am struggling enough with becoming a writer without submitting to repeated kicks to my head by those who would “help me become a better writer.” At some point, I have to stop fiddling and start shipping. At some point I just have to declare the novel to be done.

In my defense, I did follow what I thought was a fairly organized process. I made an outline of the chapters and of the scenes that I wanted. I kept track of the status of the various chapters in my spreadsheet: outlined, written, and revised. I thought through the plot and dialog of each chapter before writing the words. Even though I was ignorant of all these various writing design patterns, I still wrote a story which I would want to read as a reader.

So here I am in the lull between the act and the consequence. In many of the software development projects that I have done, there is that point which I call the “moment of panic”. You and the project sponsor emerge from the low-land clouds surrounding the mountain. The sponsor points at the summit and shouts through the background of constant wind, “That is where I want to go!” Your mind says, “Well, maybe.” Your gut screams, “No way in hell!” But your mouth says, “Sure! If the resources and the desire are there, we can do this!” You have committed to finding a way to the top before you even know if it is possible. In other words, if you are not panicking, you do not understand what is going on.

Right now, with respect to the publication and marketing of this novel, I’m very close to that point of panic. I have a list of all the things I’m supposed to do to get this novel out into the world. I know that I’m certainly missing items from the list and misunderstanding other items on the list. The list is daunting.

I am 70 as I write this. The list of advantages of being 70 over being, say, 30 is not lengthy. One of those advantages is that I have been here before. I very likely will be here again in the future. I know that the only way to get through this is to “play through the panic.” I know how to ask questions. I know how to find answers. I know how to learn. I make no claims that the process will be easy. I make no claims that the process will guarantee success. But I also know that if I don’t play the game, I am guaranteed to fail.

This all sounds painful, but there is a joy in all of this. Working through the steps of the puzzle, devising answers to the questions, advancing toward a goal, and, finally, relishing the solution. At least for a while. At least until the next puzzle. This is the circle of my life, with a distinct emphasis on living.

How to Write a Science Fiction Novel

It is really quite simple. First, engage in world building and create a “world model” filled with “if this goes on” speculation about science, society and the interaction between the two. Next, create some compelling characters and plot how those characters interact with this world model. Finally, write the novel.

Write the first word. Write the second word. Write the next word. Keep doing that until you have enough words for a novel.

How do we select the words? Now we are getting to the crux of the problem. I suppose we can have something like a new reality series, The Wordsmith, in which the words flirt with the novelist in an effort to be the next word to be written. It sounds dreadful but it is probably not much worse than what is available right now.

If we have constructed the world model with some care, that model provides everything that we need to select the words. All we have to do is pick out one idea from the hundreds or thousands of decisions that we have made as we built this world model and write it down. From there, it is just a matter of following the connections from that one notion to the next notion. Keep repeating that action until we have written words for all of the ideas and plot points from our world model. How hard could that be?

Here is the problem: In this world model there are multiple dimensions. There is time, space expressed as multiple locations, cultures, technologies (real and imagined), and multiple dimensions of imagination. The novel, with its “one word follows another word” pattern, really only has one dimension. The trick in writing a novel is to somehow make that single stream of words in that single dimension evoke the notion of all those multiple dimensions in the mind of the reader.

In the area of software development, which forms the vast majority of my background, we call that mismatch between the world model and the expression of that world model in the form of a novel an “impedance mismatch.” In other words, the two notions do not get along with each other. For example, we might have a website that allows you to order things online and have them shipped to you. Sounds simple enough, but the needs of the user interface as it creates and manipulates the order are much different from the needs of the database that is to store the details of that order for later processing. The user interface thrives on repeating redundant information and the database strives to eliminate the redundancy altogether. We have an impedance mismatch.

This is a serious problem. The engineer who designs the database is going to think about the order data in a significantly different way from the way that the person who designs the webpage. Successful software projects will typically employ different people to fulfill each of these different roles. If the person who designs the database is also permitted to design the user interface, the user is subjected to an interface that exposes all the plumbing. It is possible to accomplish things using such a system, but it is awkward and unpleasant. Likewise if the person who designs the user interface is permitted to design the database, the result is equally awkward and unpleasant, but of course in a much different way. Experience shows that having a third software engineer write “adapter” software to mediate between the two different views of the data improves the quality of the system greatly.

Here is my problem. I am writing a science fiction novel. I am designing the model of the world. I am exposing that model in the form of the words of the novel. And I am the one who is responsible for deciding how to mediate between the model of the world and its expression as a novel. My experience in software development says that this is not going to work very well. I am going to be better at one of these activities and that will twist the novel in unpleasant ways.

When I wrote the first draft of the novel, I had a fairly vague idea of how the world model for the novel actually worked. I am an engineer and realized fairly early on that there were a lot of omissions and downright inconsistencies in how I had expressed that world in the words of the novel. So I did what any good engineer would do: I did a formal design of the world. I wrote a lot of material about how time travel worked. I did a lot of work on making sure that the dates which span several millennia were coherent. Specifications here, details there, exactitude all around.

I then revised many of the existing chapters and wrote new chapters based upon my maturing understanding of the world of the Arisa. The more closely that these chapters were tied to the world building that I had done, the more awkward the expression of those ideas were. I had a strong tendency to expose the plumbing to the reader. In my defense, I thought I’d done a pretty decent job of world building. I was proud of it. I wanted to show people. I wanted to strut my stuff. The problem is that the reader is not interested in the plumbing. Indeed, the reader is strongly averse to knowing that the plumbing even exists much less how it works. I eventually got to that “it just works” state but only after many rewrites and revisions.

In software development we have a role called the user experience (or UX) designer. While this individual, or team of individuals, is aware of how the system might internally do the work, the focus of the UX person is to understand in detail how the system is to be used. Using our example from above of a website to order products, the UX designer figures out in detail the steps that an individual must go through in order to purchase a product. The intent is to make that purchase process as smooth and painless and frictionless as possible. The goal is to make the gap between the desire to buy and the completion of the order as small as possible: “I want this item and suddenly it is being shipped to me.” What could be better than that?

To a large extent, the same is true of the relationship between a reader and the text of the novel. The reader has to understand that the novel involves time travel and that there are certain constraints on how time travel works. The details of the proposed mechanism for time travel are irrelevant to the story and if I, as the author am foolish enough to include them, I have only cluttered up the narrative. In other words, no matter how proud I am of my world building, it is best not to strut my stuff while the reader is watching. In fact, the less that I say the better.

Less is not a bad thing. I am writing a science fiction novel. It is almost certain that this is not the reader’s first science fiction novel. This means that the reader will consume the novel against the context of the genre of which it is a part. An offhanded reference to a time travel portal should be sufficient to get the message across to this audience.

There is an essential difference here, however. The UX designer will typically develop a set of closely related scenarios. For example, consider the following scenarios for purchasing something online: one, I want to order something and have it shipped to my home address and charged to the credit card number that the website already knows about; this covers 80 to 90% of the purchases that might be made on the website. Two, I want to purchase something with my stored credit card and have it shipped to a different address; maybe 5%. Three, I want to purchase something with my stored credit card and have it shipped to a different address along with a gift card; another 5%. Four, I want to preorder a product and be notified when it is available. The UX designer might identify a dozen more possible scenarios, but there will be just a few that are optimized to achieve that frictionless buying experience.

The UX designer has an advantage here over the novelist. The webpage has the ability to be actively dynamic. If the “this is a gift” indicator is set, say via a checkbox on the webpage, then, and only then, does the data associated with handling gifts need to be retrieved and processed. The novelist does not have any option here. Once the path has been picked, the novelist has no choice but to follow that path to its very end. The novelist must make a hard, inflexible decision for the reader whereas the UX designer can allow the individual ordering the product to make decisions and affect the path that is ultimately taken.

“With great power comes great responsibility!” What this all means is that the novelist is the prosecutor, judge, jury, and executioner; there is no one else to claim the credit when it goes right and no one else to blame when it does not. The responsibility is to pick a path that satisfies the needs of most readers. And the truth is that, no matter how much support the author gets from editors or beta readers, no one path is going to satisfy all of the potential readers. While it is possible to write the story from multiple points of view against a common set of events, it is still a case of the linear nature of the novel trying to emulate the nonlinear nature of the world model.

As an inveterate technologist, I do dream of the possibilities of writing and implementing an interactive novel. But this all comes dangerously close to the notion of producing a game rather than a novel. Plus the expectation is that games will have graphics and sound and music, all of which are well beyond my capabilities. There is a temptation to learn too much from web-based technology. The result would be interesting but increasingly far afield from what a novel is all about.

I cannot claim that any of this is useful to anyone, with the possible exception of myself. All this is merely an attempt to capture the inner dialogue that I have had with myself about this thing called “writing a novel.” I’m trying to learn how to do this properly. And like any effort to learn something new, I seek out parallels and similarities with the old things that I already know. Sometimes it gives me an insight that is very useful and sometimes it leads me astray. Either way I am compelled to think about the details of what I am learning. And for me, to think is to write and to write is to think.