Thursday, May 13, 2010

What Can Shakespeare Teach Me About IT? (Best Of!)


If there's a pet peeve I have about Shakespeare, it's that connection between "Shakespeare is hard and useless, therefore why learn it?"  Once I heard a radio commercial for some sort of vocational school that used that exact line, presumably in reference to not wanting to get a real education at a real school:  "What can Shakespeare teach me about IT?"  (That’s “information technology”, in case anybody’s pronouncing it like the pronoun and wondering why I’m talking about the Stephen King novel.)
Well.  As a lifelong computer geek (been coding for 30 out of 40 years, thankyouverymuch) with a love a Shakespeare, I think I'd like to comment on that.  Let's talk about what Shakespeare can teach you about IT, and about yourself.
Shakespeare appreciation is self-directed.  If all you know about Shakespeare is what the teacher makes you memorize for the test, you will fall very very short of what you can accomplish.  At best, school provides that glimmer of something that makes you say "Wow, I love this" and then it’s up to you to do whatever you can to seek out more information. 

Computer science is the same way.  If you love it, then you will go over and above what school teaches you. If all you're doing is walking through classes in order to get the grade and the diploma, then you're not getting much out of life. That’s true of pretty much any subject.
Shakespeare wrote in a different language, with its own tokens and syntax.  Computer software is very much a game of speaking new languages (Java, Ruby, Erlang, take your pick).  When you’re just starting out you can say “I know language A but not language B,” but as you become more senior your answer is expected to evolve into, “Because I know languages A, B and C, even though I’ve never seen D I have enough fundamentals in what to expect from a computer language that it shouldn’t be difficult for me to pick it up.” All languages have variables and loops, objects and conditionals. You have to know when you've seen an old idea in a new context, and be able to make the leap of understanding about what that means. 

Reading Shakespeare offers similar challenges. Most of the words he used are still in use today (as a matter of fact he invented many of them, or at least was “first recorded use”, for the sticklers in the audience).  But he often used them in different ways than we do.  There's a certain amount of deciphering that has to go on, sure, but when you get right down to it Shakespeare’s people still spoke in sentences with subjects and verbs just like we do.  Much of what Shakespeare added could be considered “syntactic sugar,” if you like.
"Reverse engineering", for the non-IT crowd, refers to taking an existing piece of technology and taking it apart in an effort to figure out what the creator meant when he did certain things.  Often this is done in a sitation where you no longer have (or may never have had) access to the creator to just plain ask. There's almost so much parallel to Shakespeare there that I don’t know where to begin.  Was he Catholic or Protestant?  Did he even write the plays?  Reverse engineering Shakespeare's works has kept scholars busy for hundreds of years.
Shakespeare is a memorization game.  I'm convinced that Google kills memory cells.  Most programmers I interview these days will say that they don't need books anymore, they just google for the answer.  I think the better response is that they have the memory capacity to remember the answer in the first place!  No, of course not everything, but surely there are things you run into so frequently that you shouldn't be running for your search engine every day.  Same goes for Shakespeare.  When I'm speaking to someone on the subject and trying to make a point, if I have to stop and go "Oh, shoot, what's that thing that Antony said in Julius Caesar about when people die?  Darn, oh hang on a second let me google it...."  I'd look pretty weak and foolish.  I can make a point with a Shakespeare quote because, if it is needed in a certain context, I’ve acquired enough knowledge that I can use it to my advantage.
Shakespeare is Open Source. Do you like Shakespeare’s source material?  Take it.  Use it.  Put your own twist on it.  He did the same thing, after all.  What is "Romeo and Juliet" but a specific implementation of the "unrequited love" idea that already existed before Shakespeare got hold of it?

There are many different ways to go with this idea. As a programmer, I carry around the works of Shakespeare in XML format.  It’s the sample I use for nested content.  When I need to learn a new method for storing and accessing data, I use the raw XML to build myself a Shakespeare database. When I wanted the sonnets in XML and couldn’t find them, I made it myself. When I need to quote something and want to verify my facts, I grep (i.e., search) the text.  If I started listing out the ideas I’ve had for startups that never go anywhere (note to non geeks, all computer geeks always have a steady stream of ideas for stuff that they’d build if they just had the time …) you’d find that most of them start with Shakespeare’s content at their core.

Or maybe instead  you just run with the ideas, and not the literal source material. Maybe you write the next West Side Story or Lion King (which pay homage to Romeo and Juliet and Hamlet, respectively, without copying any words).  Or maybe you go more the Rosencrantz and Guildenstern Are Dead way, finding the holes in Shakespeare’s stories where you could retell them from a different angle.  The possibilities are, as 400 years have shown, endless.
Shakespeare reminds me every day that I am more than just a geek.  My life is equal parts computers and Shakespeare, and I see absolutely no conflict between the two.  As a matter of fact the existence of this article is demonstration that I blend them wherever I can.   That is very different from what our Two Cultures world would like you to believe.  Will it be a liberal arts school or an engineering school for you?  Which degree will you get, so we can tell you ahead of time what jobs you’ll be eligible for?  Just put the checkboxes next to the buzzwords on the job application.

Being “well rounded” does not mean being 99% computer geek who happens to have a parasailing hobby on the weekends.  Don’t be afraid to pursue your passions, regardless of the direction they take you.  I speak of this blog right on my resume, and love it when potential employers as me about it. Why can’t you be a rocket scientist and a published poet? Why can’t you run a Jane Austen book club at your biotech company?  Perhaps the better question is, why aren’t you?

5 comments:

Janefan said...

you have a great point about how we try to force people (students, children, even ourselves) into one track or another - the tech track or arts track - without realizing there is a third option. The smartest and happiest people I know are the multifaceted ones. They are the best conversationalists, too!

Monica said...

For you:

http://shakespearelang.sourceforge.net/report/shakespeare/

Michael said...

Thanks for the food for thought! I've shared the opening on "AustinLiveTheatre.com" and linked to your blog. [http://tinyurl.com/ALTgeek]
Regards,
Michael Meigs

william sutton said...

Sh invented binary code.
154 sonnets
1+5+4= 10
1 and 0
simple.

Duane Morin said...

Strangely, will, that's not even the craziest thing I've heard this week. :)