More Apprentices, Less Parrots: The Importance Of Teaching How To Think vs How To Work

Tyler Auerbeck - Oct 24 - - Dev Community

Occasionally, I find myself teaching some courses on a number of topics. Most recently, I’ve been teaching a course around getting started with Python and Data Science concepts.

I personally love teaching these introductory style courses. Working with folks who are just getting started in the field can be invigorating and helps me realize a ton of the things I take for granted as someone who has been doing this for longer than I care to think about now.

But, for some reason, in a number of tutorials and places I’ve been to, we seem to underestimate the audience that we’re working with. We show them how to learn in tools that I’ve never once come across in the real world. We focus on showing them how to do things perfectly instead of considering the problem and considering approaches to take to solve the problem. All of this likely in the absence of how to surface documentation, assess the value of an example or learning how to engage with the community they will find themselves working in.

This, I believe, is detrimental to learners in a number of ways. The most obvious being that they’re going to go need to learn something new once they find some of their first opportunities in the real world. While learning how to work within a specific tool is a key skill, being able to learn about how to learn to use a tool or decide whether that is the tool for the problem is equally as important.

This last piece is something that I believe should be focused on by the teacher/writer just as much as it should be for the learner. While we all may have our best laid plans about what we’re going to show our students, inevitably there will be a question about how to do something that we either don’t know or haven’t planned for. THAT’S PERFECT. Show them how to do the thing. Even better if you don’t know, walk through how you go about figuring out how to do the thing. One of two things will happen.

You will either:

  • figure out how to do the thing; PERFECT , student learns how to do the thing
  • not figure out how to do the thing; EQUALLY AS PERFECT ; student learns how to investigate how to do a thing; the places to search, the places to ask questions; how to deal with temporary defeat while trying to accomplish something

These are all equally beneficial to a new learner. These are things that they will inevitably need to know how to deal with. I think failure is an equally good teacher, especially early in the career, because it starts to build the idea that just because something didn’t work, doesn’t necessarily mean it was bad or a waste of time. The amount of time I’ve had to spend coaching junior engineers out of feeling like an imposter or being nervous to admit that they can’t do something is astounding. I’ve found that once you’ve done enough to coach them out of that shell, it can almost be like working with a different person.

SO WHY ARE WE NOT TEACHING THIS FROM THE START!?

Well, in writing, having to pull all of this together can be difficult. Our attention span these days is not great. By the time we get through the setup, we’ve probably lost 90% of readers. But, if we just hand wave to get to the exciting bit, we keep folks captured and ensure they read what we actually wanted them to. Likewise with teaching, you sometimes have to choose your battles. Is it more important to hit the notes that you want? Do you need to figure out you cover all of the specific content within a given timeline? Sure. But that burden is on us. What we need to remember is that we have a responsibility to the folks who have come to us to learn and to show them the skills they’ll need to be successful moving forward, whether they’re viewed as soft skills or not.

What’s The Fix?

Unfortunately, there’s no silver bullet or one way of writing/teaching that is going to solve this problem. But what I would encourage you to do is think out loud when writing or teaching. There is nothing someone early in their career is going to benefit from more than seeing how someone who has been doing this for some time thinks about a problem. They’ll be able to borrow from and build on ways that you wrestle with a problem. They’ll start learning where to go and who to talk to when you don’t have answers. Don’t be afraid to fail spectacularly! Talk through what you did, how it apparently didn’t work and more importantly what you do next to go find the right answer! Find folks to bring in and talk about their horror stories. Everybody can learn something from burning rubble. It’s how we learn not to set the next dumpster on fire!

In summary: build things, watch them blow up, tell everybody what you learned and how you got there. There’s still nothing wrong with unloading a half-baked idea onto the internet or ensuring that you hit specific topics that you need to throughout a course. But building the next generation of critical thinkers and problem solvers is going to be crucial. Otherwise we may find ourselves with barely functional software and nobody to figure out how to make it better.

. . . . . . . . . . . . . . . .