Forcing Functions for Learning: Teaching a Class

When I was a junior in university, I found myself accidentally being asked to teach a programming course to students in the College of Fine Arts. It was iPhone programming, and I knew I needed to find the right material. I scoured the internet for courses that married design or art with programming, and I found a beautiful course taught by Scott Clemmer at the design school of Stanford. I emailed him and somewhat coyly asked if I could have a peek at his assignments or syllabus. He very kindly offered me all of his material.

He was teaching a “programming” class but wasn’t really focused on programming. It was focused on teaching design thinking to programmers who would partner with students in the design school and create new and interesting products.

I figured that I could take our 16-week semester and split it into two parts: an eight-week lightning session for design thinking and an eight-week lightning session for the basics of programming. In order to pass the class, students would have to come up with some sort of prototype. They didn’t have to have a working app. If they put images on the screen and had buttons that they could click back and forth between those screens, I was perfectly satisfied.

I had zero familiarity with any of the material. He asked that I give him credit on any slides or material that he provided if I used it. For the first semester, every single slide had his name at the bottom. I was learning alongside my students.

After the first semester, we expanded to teaching the course in the College of Engineering as a computer science elective. It was then possible to have two classes running in tandem – one fully focused on design and one fully focused on programming – and then have them meet together to do projects. That turned out to be a lot of fun.

As I learned what design thinking was, I thankfully wound up at a Google Developer Conference where I went through sessions with design thinkers. Then the hilarious[1] Google Design Sprint documents came out, and a company called ThoughtBot produced a do-it-yourself guide in GitHub to run your own design thinking sessions. I took all of that and ran with it. I charged companies a hefty consulting fee for us to design in tandem with their executive team. Web services and mobile applications. It was a ton of fun.

The other interesting thing about working with someone from the design side is that if you also are running a company that produces those applications, the client doesn’t want to work with anyone else. If you’ve just spent an intense week hashing through all of the possibilities of what you couldn’t do, on some level it feels like you have a meeting of the minds. We weren’t an inexpensive development shop, but we also weren’t cheap by any means. I encouraged our clients after our design thinking sessions to go shop around. With only one exception, every single client said something to the effect of, “I don’t want to go have to explain everything we’ve just done for the past week to someone else. You might be more expensive, but it’s worth it because you’ll be cheaper in the long run because of the lack of rework. You can read our minds. You sat with us for the entire week.” I could have done this as a loss lead, but we made decent money on the design thinking workshops and we got business.

More importantly, I learned a very different way of thinking about the world. This way of thinking was reemphasized to be in a completely different context when an acquaintance of mine named Kai Zau, co-founder of Ultraworking, talked to me once about what he called “mental ergonomics.” How was your environment set up? Is your environment set up in a way that is conducive to your goals? After that, I actually went through and reorganized my entire bathroom so that all of the things that I needed to prepare for the day and all of the things I needed at the end of the day were lined up perfectly, accessible in just the right way. Design thinking sort of bled into other aspects of my life.

Like many good things, there’s an ebb and a flow. Sometimes I forget the principles, and things go a little bit chaotic. But every once in a while, I sit back and think consciously: How do I redesign my environment so that it can help me meet my goals?

Want to learn something new, quickly? Just start doing stuff.

You probably don’t need to email a professor at Stanford, asking for his slides. Nor must you teach a whole course for a year with a “fake it till you make it” mindset. Some of those students actually had studied design thinking before, and I was extremely grateful for their graciousness as I taught my upperclassmen. They were also really patient when I made them draw large versions of letters because I took a one-week diversion into typography for some absolutely unknown reason.

You don’t need to do any of that. But finding a creative way to force yourself to learn something new is great. A forcing function like teaching a class is surprisingly good for learning new things.

[1] Hilarious? Yes, absolutely so. None of this material was particularly new. But they re-branded it like they invented the stuff. and because they were popularizing it to anybody else, so many people simply assume they invented it.

Did something I say resonate with you? Tell me about it on Twitter. 👇