The Text

I’ve got two kinds of people I want to talk to today: programmers and actors.

First things first. Let’s define some terms. Well, really just one term: The Text.

Programmers, most of your time as a programmer is spent working on other people’s programs. Likewise, actors, most of your time as actors is spent putting up other people’s plays. As a programmer, the code is your text. As an actor, the play is your text. And in both professions your livelihood boils down to digesting the text. It’s not easy, or everyone would be doing it. But it’s not magic either, or you wouldn’t have spent all that time in school.

Speaking as an actor, I have a few tips for you programmers out there.

Wait, no, sorry. I meant, speaking as a programmer, I have a few tips for you actors out there.

Er. Um.

Whatever. Take your pick. Because really, these tips are a floor wax and a dessert topping!

[Floor wax!  Dessert Topping!]

Last week, sitting in my office, pushing through a stubbornly opaque piece of code, I had one of those famous Zen Moments. You know, those moments when you go to a deep and profound place, a place where you recognize the thorough and abiding oneness of all things, a place where you look at your dog Buster and see your Aunt Maybel. A place where cheesy bread and U.S. currency are revealed as mere facets of the same glittering universal jewel. A place where, holy heck, the actor in me finally had something in common with the coder.

When it comes to computers and theatre, I’ve housed a split personality for years. The two sides don’t usually talk to each other. But in that brief moment the two had become one. Here’s what they said:

Recognize what you don’t know

You know that big vague feeling you get about a block of text? You know what I’m talking about. You basically know how the database is flushed to disk. You pretty much know why Masha says that line.

But you don’t really know.

That big vague feeling is a big red flag. Stamp it out. Don’t be lazy. You’ll know when you know. Learn to be unsatisfied until you really do.

Follow the trail of indirection

When you recognize something you don’t know, it’s a pretty good bet that your ignorance is due to some kind of indirection. Maybe the details are hidden by seven layers of function callbacks that are hard to trace. Maybe Masha doesn’t say exactly what she’s feeling.

Attach yourself to one object and follow it through from beginning to end. Take the whole journey. How is the data structure populated? Who does the character talk to? Why?

Ask questions until you can’t ask any more. Dig into every subroutine. Don’t be satisfied with the first answer.

Write what you find

This one is simple, but people don’t do it. Don’t assume you can remember it. Lay it all out on paper where you can see it all together. Write it down. By hand.

Know the patterns

If the author is any good, she has filled the text with hints that will help you digest it. This isn’t big news. You do this in your sleep. What I find cool is comparing the same hints from either side of the professional divide:

  • Design patterns. Playwrights don’t make up new kinds of stories very often. (Shakespeare, for one, stole all his plots.) Programmers don’t invent new kinds of coding very often either. Know the patterns.
  • Names. Unless they’re lousy, programmers pick expressive variable names. They know they have to, or their code can’t be understood. The same is usually true in a play. It’s not always as obvious, but then again, sometimes it is. They don’t call him “Hotspur” for nothing. Don’t ignore it.
  • The Medium. Programmers choose the right language for the job. So do playwrights. It might be as obvious as C versus Python or English versus Esperanto. Or it might be more subtle, like where they put the comments, or where they stuck the beats. Understand why the author picked this language above all others. They had a reason.

Add your own to the list. Have fun comparing and contrasting.

Be Thorough

Actors call it table work. Don’t skip it. Don’t jump up from the table to act, and don’t jump into Emacs to code. You’ll end up creating new work that doesn’t fit into the existing text, because you don’t understand the design yet.

A B.A. is not B.S.

I’ll switch it up for this last one. This one’s just for you programmers out there.

At grad school or at work, I have sometimes heard comments like “he only has a B.A.” As in, “he went the easy route, and won’t cut it with us engineers.” I’ve gotta tell you: that really ticks me off. Don’t be one of those people. A strong Bachelor of Arts program teaches you to think with the same kind of rigor and analytical skill as a strong Bachelor of Science program. Every field has different details, but good thinking is a universal jewel.

Ponder that, my friend. Ponder it until you know it from a deep and profound place. Preferably one with a limitless supply of cheesy bread.

3 Responses to “The Text”

  1. lilzilla Says:

    Yeah, word about the BA. This may just be Carleton being especially awesome, but I recall a friend’s story of starting out in grad school for chemistry, where in all the big scary entrance exams, the folks with BS’s had been introduced to more of the material, but my friend had much better foundational skills and actual understanding of the principles involved, and thus did better. I *heart* my liberal arts education!

  2. spencer Says:

    Many colleges offer a BA in technical fields which is equivalent to a minor with 1 additional class. Alternatively many major/minor programs overlap in much the same way as BS/BA programs. I assume this is where that stereotype got started. So what you have is the EE/CE/CS people obtaining BS degrees when at the same time their mathematician/biological stats friend is getting a BA in CS by taking 1 more class. Unfortunately the reverse is not true. We would have to take 2 more years of school to get a BA in math. Perhaps we’re slightly guilty of stereotyping but as is usually the case, perhaps it can be attributed to our environment, and as a result, perhaps it was true where we “came from”. Perhaps I just chose the wrong the major….

  3. Catron Says:

    Well, Shakespeare didn’t steal ALL his plots. Just MOST of his plots. But, to be perfectly fair, the plots he invented aren’t really all that hot. (Who doesn’t want to shoot themselves in the face after the mechanicals finish their play-within-a-play? Nope, sorry!

Leave a Reply