I got two hours of sleep last Thursday night. Acting classes ran until 11pm or maybe midnight, and afterwards a group of us went out drinking and dancing. Conversations went late. One conversation concerned how weird I am. Actually, come to think of it, two conversations concerned how weird I am, and those are only the ones I know about, and remember. Conversations often seem to address this topic, which I don't fully understand - I think it's the world which is odd - but I didn't mind, because it was interesting.
The particular category of weirdness which fell under a microscope that evening, or at least the one I want to talk about here, involved bridging the chasm between programming and acting. Whether I'm in the midst of a career transition or setting up two parallel careers, what I'm doing is unusual. Picture the Venn diagram of my major interests: acting, music, and programming. Music is the slut in this threesome, in that even though you don't find that many actors who are also programmers, it's common to find programmers who are also musicians, and likewise with actors who are also musicians.
Programming actually confers one interesting advantage in acting, which is that I find it very natural to analyze fluid processes and reduce them to structured techniques. That's the core of making good miniapps to streamline business processes, and it's closely related to the workflow refining of any good yak-shaver. But disadvantages exist too, and are much more obvious. You pay a cost in your range, spontaneity, and ability to read people after interacting with machines all day, filtering most human communication through machines, and, in the case of workplace ticketing systems, further filtering machine-filtered human communications through an additional stage of automated bearaucracy.
Consequently I've decided to lean a little more heavily, as an actor, on the beneficial legacies of my years as a programming. The technical vantage point has limited benefits, but potentially very useful ones. Acting is not like martial arts or classical music, where a strict adherence to technique pays enormous dividends, but particular skills like accents (for example) can benefit tremendously from a technical approach. But as a Rubyist, and a former Perl hacker, I tend to more unstructured forms of coding than average, and programming also trains you in another, more powerful meta-skill, the construction of systems.
I've already used this meta-skill to go from a chaotic lifestyle to a much more disciplined and organized one, which enabled me to do some exciting things, including launching my own micro-businesses and losing 80 pounds in six months, and I've blogged before about some of the quasi-programmatic systems design involved. Another useful skill: self-promotion online, which I became almost pathologically good at a few years ago.
With that in mind, it's fair to say that programming can set you up with meta-skills which would enhance a career in any field - assuming of course that you can bounce back from the habit of spending all your time plugged into a screen, and assuming also that you can handle giving up the many luxuries this career affords, in exchange for broadened horizons and new opportunities. I'm tempted to say that this is a good way to choose a career, especially for young people starting out. Ask yourself what meta-skills you could bring to a new career if you tired of your first career. If the answer is an interesting cluster, you've probably got something good enough to start with.
By the way, if you're young and you want to be an actor, this is also a terrific way to deal with objections from your parents, or indeed your own self-doubt. Self-expression, self-promotion, and the ability to read people are useful meta-skills for nearly anything.