Saturday, May 14, 2011

Dirty Jobs perspective on programming...

Thursday I got to visit Gangplank Chandler (which I'll talk about in another post) and catchup with a friend (Kelly Wilkerson, who I worked as a teaching assistant with some 10 years ago. She teaches at Arizona State University now and we got to share some of thoughts, experiences, frustrations, and insights having both gotten the chance to teach classes [1] on our own. In that vein, I saw Mike Rowe's testimony to the Senate on Wednesday (5/11/2011) and thought there were some parallels in teaching students to program. Here's an excerpt from an email I sent on to her:

So... you might say that students are as disconnected from what they're doing "standing on the shoulders of giants" when coding as people are who don't think about where food comes from or who fixes their plumbing:

Thirty years later in San Francisco when my toilet blew up again. This time, I didn't participate in the repair process. I just called my landlord, left a check on the kitchen counter, and went to work. When I got home, the mess was cleaned up and the problem was solved. As for the actual plumber who did the work, I never even met him.

It occurred to me that I had become disconnected from a lot of things that used to fascinate me. I no longer thought about where my food came from, or how my electricity worked, or who fixed my pipes, or who made my clothes. There was no reason to. I had become less interested in how things got made, and more interested in how things got bought.

Thought about our conversation yesterday and decided this is actually a nice way, potentially, to talk about this in a context (Dirty Jobs) that students might recognize or understand... Or are they not among the millions that watch Discovery Channel?
I realize now that I've been away from teaching for about 5 years, how I might related to students would be drastically changed if I was back in the classroom. I do think that "Dirty Jobs" and the work of architects, programmers, and hackers building the foundational layers that coders use today is something that every students should come to appreciate. It just sadly will not happen until they have to dig in and try some of the work themselves.

[1] I taught a number of courses on introductory programming, component-oriented programming, and enterprise web development in the Computer Science Department at the University of Arizona as an adjunct instructor between 2001 and 2006.