Currently I have two part time jobs: TA for an undergraduate business MIS class; and Sr. Programmer for a small game company over town*. Although they seem very different, there is a thread between them: they're both teaching jobs.
The TA job is obviously a teaching job: one day a week I hold three (roughly identical) labs or tutorials in which I demonstrate the basic use of software while the students (mostly) follow along. We've done Word, Excel, PowerPoint, Access, and Visio so far. Most of the material is very basic. In addition I hold three hours a week (over two days) of office hours. So far I've had a total of two visitors, so the office hours are generally an excuse to sit in a room and do my own reading or homework. The last two weeks I've put in 12 hours or so of grading about 46 papers. For all this I get paid (or at least I'm told I do -- I haven't been paid yet) a reasonable amount, considering that I'm a graduate student and I want to find out what teaching is like. This experience is very different from my teaching at PAVI over the summer semester and I value it for demonstrating what more conventional teaching is like.
The Sr. Programmer job is perhaps less obvious, but it's still a teaching job. The small team I'm working in is new and quite young, as is my boss the CTO (OK, he's only young compared to me). My job is not just to create code, but to provide my experience to the younger programmers and to be a kind of security blanket for the CTO, who's quite competent but overworked. So I review designs and help make overall plans (like how the version control system should be used or how projects should be organized). Even though the projects are small (we're doing casual games) it's still nice to be well organized and the experience of working in a more formalized way will be good for everyone when they work on a more complex and higher-stress project.
Before entering graduate school I did a full set of assessment tests this spring with what they call an "industrial psychologist". The tests included intelligence testing as well as aptitude and interest assessments. The top result was University Professor, which surprised me. Although perhaps it shouldn't have, given that both my parents held advanced degrees and my father taught (statistics and applied mathematics) at Columbia, UCLA, and the University of Oregon. I have generally enjoyed lecturing on development and the mentoring portion of the management job. A significant reason I'm taking the MBA is because I need a master's degree to teach at an accredited game development school in the US, and the MBA is therefore "dual purpose" for me.
So this matter of teaching is looming large...
*"over town" is local slang for "in Vancouver proper," or so we're told. It's possible that it's an elaborate gag on the newly arrived Americans, but I don't think so. People don't laugh at us if we say it, and we do occasionally hear others use the phrase. And besides, I think Canadians are generally too nice to do something mean like that.