Engineering practices in writing: Rubber ducking

I’ve had several scenes designated as “to sketch out” for long periods of time. There are some scenes I find very difficult to plot out on my own. Thankfully, I have John around to ask me questions about the scene, see plot holes I missed, and have me place everything that’s on the table, so I can go forward with new ideas. John and I are both software engineers, so the way we probe at, pick at, and try to debug a story is very much from that background.

If a scene is giving me trouble, I explain the scene sketch, sentence by sentence, to somebody without my knowledge of the rest of the book. I figure out a lot of problems and details this way. It’s the same principle as teaching: when you have to go through everything from other perspectives, you have to get to know your material, in this case a story, better. There isn’t always somebody around to go through the material with, though. An engineer in the book The Pragmatic Programmer carried a rubber duck around to explain things to, so the process is often referred to as “rubber ducking” or “rubber duck programming.”

me and some "ducks"
me and some “ducks”

My duck is not actually a rubber duck. It’s a stuffed animal or figurine. I rotate through them so they don’t get bored. I’m mostly a planner, so I rubber duck or talk to John at the scene planning level. I’ve also rubber ducked with the scene already written if I think there’s something missing or there is an issue. Then I go through the existing scene and try to explain why each sentence is there to the duck.

 

Some of the principles of my job carry over to my creative life. Have you found this as well?

Theming this site

My day job is as a web application developer, so I feel it’s only right to make my own website for my creative output. The tailor should wear half-decent clothes principle, I suppose.

I’m making this site in Drupal because it’s powerful and I know at least some of how to administer it, as my site is on a DIY server. I learned Drupal theming on the job and it’s quite idiosyncratic, and it’s a bear trying to remember where everything is. That said, it’s kept up-to-date and secure and I can even use a package manager to update it. I’ve used CMS Made Simple, but that, though easy to use for editing, was not the easiest to maintain. This is just the single-user-who’s-also the admin case. If you have multiple non-technical users, CMS Made Simple is less work for them to use and learn than Drupal.

Today I am trying to iron out templating and CSS. That’s always the hardest part for me, as I am not a designer. A web developer may be able to make you a website, but even a great one may have almost no design chops. Those are separate skills. At work I implement the themes given to me by our designer. If you’re looking to make a snazzy web site, I recommend hiring a designer along with a developer: I think everything looks fine in big black and white sans serif text without pictures, never mind transitions. I know this. If you give me the theme, I’ll do what you need me to. I take existing themes and play with them. Find why elements are jumbled, spaced oddly, why text may overlap, why everything might go berserk if I size my screen. As Mr. Saturn once said, “Got to take it apart. Got to figure out how it works.”