As might be expected, a computer science degree has served me well, with practical application to my career as a software engineer. However, the unexpectedly practical lessons stemmed from my stint as a teaching assistant for the intro CS class (then called CS11, and now CS15 at Brown University).

In additional to regular TA hours and correcting homework assignments, each TA had a job. You got to choose between helping to prepare lecture slides, picking up, recording and distributing the student’s homework, and so forth. One of the odd jobs was the “Humor TA” which seemed like not much work and possibly fun, so I signed up. At the time, I was unaware that Prof Andries van Dam was famous for his work in computer graphics. He was merely the unrelenting tyrant who intimidated students and teaching assistants alike with a gruff manner, staggering workload, and insane attention to detail. In contrast to his everyday demeanor, he insisted that periodic skits were required to augment learning with theatrical enactments of various algorithms and that we create arbitrary moments of levity for each class. It was my job, to make sure he had something to drink with the only limits being that he preferred not to drink milk. September started with the mundane water or juice in increasingly outlandish containers, until the end of October brought the traditional dry ice filled smoking pumpkin and, as I got into the swing of things, I borrowed someone’s beer drinking hat, hooking up cans of soda, so that he had to drink through a tube. The key points were surprise and unbounded silliness.

It was also my job to arrange the skits. Most were easy, since we carried on traditions from past years, but innovation was always enjoyed and sometimes required. I became adept at quickly finding props and costumes, re-purposed items from dorm rooms, other departments, or 7-11. When no one had a mirror for the “Slush Gray” skit, I wrapped a picture frame with tin foil. This being a take-off on Snow White, there was, of course, a TA who played the mirror. The new prop provided the opportunity for him to push his head through the mirror when the time came for his one line.

It was a different kind of puzzle-solving than the rest of the computer science curriculum. What’s the closest store to buy a pineapple? What music would go well with someone climbing a mountain on a quest for knowledge? Where do you find dry ice? As a manager of software engineers, I have found these kinds of problem solving skills particularly useful. Software engineers are a rare breed with a whimsical culture. There is no dress code, toys are favored and appropriately clever silliness is appreciated.

How is it, specifically, that I apply these skills in my life now? I had the opportunity just this past week. When we set Sept 19 as the date for our latest software rev, I had forgotten that it was talk like a pirate day. Needless to say, we had to ship like pirates (which pretty much amounted to saying “Arrr” a lot). Mark Davis, our QA manager had set aside some good rum for the new holiday he wanted to promote on the Friday immediately following: drink like a pirate day. We decided to combine that event with a release party. Aside from shipping on Wed, there were all those additional miscellaneous bits associated with releasing-to-the-web, a talk to prepare for AjaxWorld next week and various and other sundry critical work items. After a sincere attempt to push the party back one week, I resigned myself to fast-acting party prep — it was time for my well-honed skills to kick in. So, I squeezed in a trip to the party store on Thursday evening with my 9-year-old an enthusiastic party problem-solver. We got an early Halloween costume for him along with 36 eye patches and skull rings, plus some specific non-pirate-themed awards for half the team. The next morning, I remembered at the last minute to dress in white silk shirt, blue silk headscarf and gold earrings to go with my eye patch, stopped at target on the way in to get toys for the other half of the team, along with little paper bags and large envelopes. In between meetings, I borrowed an image from our VP of Marketing and whipped up certificates for each team member. (In this age of Internet software when we no longer have boxed product, I always like to have some tangible memento of the software release.) Luckily Mark was willing to pickup tubs of ice, beer and snacks, and thus we put together our loosely organized, fun party. I emceed the awards ceremony with a pirate telescope to augment the vision of our CTO, a magic wand for the VP of engineering, weird squeeze toys for the QA team, and legos for the dev engineers, along with a few silly stories where it matter not so much whether the crowd with laughing at or with me.

Toward the end of the night, my new boss asks, where did I find the time for all this? I admitted that I am well-skilled in last-minute prep, but heading home yesterday evening I reflected on the origins of this odd skill, and I wondered whether other folks from generations of CS11 and CS15 TAs have found these skills as practical in the workplace as I have.

What do you think?