Why I Teach

I recently read a few blog posts that inspired me to write this post. First, I was inspired by articles from Rachel Thomas and Aaron Hertzmann about how and why to start a blog. In particular, both of their nudges to not overthink it were emboldening. Second, and more related to this post, is Greg Wilson’s post about why he teaches.

I’m often asked why I teach. I’ve been asked this question in a few different ways and for a few different reasons, depending on who’s asking. So this post is an attempt to organise and clarify my current thoughts about why I teach. Like Greg, my answer will probably change over time, and perhaps I will revisit it from time to time.

First, with a BS and PhD in computer science, and experience with open-source and professional software development, I probably have more lucrative career paths open to me (provided I’m willing and able to go through the Leetcode circus). So it’s not an unfair question.

Second—and this one was confusing—a student in my software design class once asked me (I’m paraphrasing, but not much): “So have you worked in industry? It’s just you seem super knowledgeable about this stuff [gestures generally to his surroundings] so I was just wondering why you’re teaching”. I’ll admit I didn’t really know what to say in the moment, except to ask if he’d like to be taught someone not knowledgeable about [gestures generally to his surroundings].

Third, there are parts of the job I don’t like, and on the worst days they loom largest. For example, like most people, I intensely dislike dealing with academic dishonesty. On days like those, it’s worth reminding myself what I like about the job and why I do it.