Join Kent for a live workshop in Goa, India 🇮🇳

Advanced React APIs
Time's up. The sale is over
Back to overview

Taylor Bell Chats About Effective Teaching

Learn how to teach more effectively using the UbD method!

Teaching what you know is a great way to give back to your community, grow your reputation as an expert, and to even make some extra income. But, just because you're an expert doesn't automatically mean you'll be able to effectively transfer your knowledge and skills to others.

Taylor Bell works for egghead, and one of his main focuses is helping instructors plan courses through an academic discipline known as "instructional design". Specifically, the "Understanding by Design" methodology is used. This process ensures that instructors are able to effectively teach what they know and be confident in learners retaining the knowledge.

From a high level, it's a three stage process of determining the desired results, determining the evidence that proves the learner is achieving those results, and developing a plan that results in the learner being able to apply what they've learned to other scenarios.

So if you're interested in writing better instructional blog posts, recording better videos, and just becoming a more effective teacher in general, check out this episode!

Homework

  • Think of something that you could teach to somebody else, and try to frame it in the three stages of UBD. Email Taylor your homework - taylor@egghead.io

Guests

Taylor Bell
Taylor Bell

Transcript

Kent C. Dodds (00:00):
Hello, friends. This is your friend, Kent C. Dodds, and I am super excited to be joined by my friend, Taylor Bell. Say hi, Taylor.

Taylor Bell (00:07):
Hey Kent, thanks for having me.

Kent C. Dodds (00:09):
I asked you to say, "Hi Taylor." You said, "Hey Kent." No, just kidding.

Taylor Bell (00:12):
Oh. Classic.

Kent C. Dodds (00:14):
Yeah. Gotcha. So, Taylor and I have been friends for a long time. Most of the time that I've been at Egghead, Taylor has been a part of it. And so, I'm really excited to talk with Taylor about some of the stuff that he does for Egghead, as well as just other stuff that you're jazzed about, Taylor, excited to just chat with you in general. Before we get into our conversation, I like my friends to get to know you. And so, why don't you give us a little intro to yourself?

Taylor Bell (00:44):
Oh wow. So, I think that one of the good ways to introduce myself would be to give us a short story about how I got to where I'm at right now, because I think that that would help... well, it would explain how I got where I'm at right now. And by right now, I mean talking to you here. So, I don't know if you remember. You probably remember this because we've talked about it a couple of times. But you and I met at React Com 2016, I think.

Kent C. Dodds (01:12):
Yeah, that sounds about right.

Taylor Bell (01:14):
And so, I became familiar with you through you sharing what you learned. And at the time, I was in my first development gig. And I was working on sharing what I learned to try to pay it forward in a way. And what I ended up doing was Redux was this thing that had just come out.
And so, I took these notes about a Redux course that was on Egghead. And then I got found by the notes that I wrote, where I was sharing my interpretation of somebody else sharing their knowledge. And it's like this circle of life thing. And I just think it's really funny the way that I met you because you shared what you learned, and then eventually I helped you to share more about what you learn with other people. And it's just this like fractal that keeps going deeper and deeper.
I realized now that I've explained that, that I didn't necessarily introduce myself all that well. I work at Egghead. Lately one of my main focuses is helping instructors plan the courses that they're going to teach through a process that's actually an academic discipline called instructional design, which is what I'm going to be talking with you about today, what we'll be talking about together today.
But yeah, so I haven't written code full-time in a little while. I still do for fun, but it's not been my main focus. I've shifted more to helping people who are developers teach other developers at all sorts of different skill levels. That's the really short version of what I do, I guess.

Kent C. Dodds (03:01):
Yeah. Well, I know it's appreciated. I've been working with you on preparing my course material for a long time, and it's been really helpful, for sure. And honestly, I think it's one of the things that differentiates Egghead in general. You have some platforms that have no standards at all on quality of the content. And then you have other platforms that have a standard, but don't help with their creators. And one thing that I love about Egghead is that there's a high bar. But when you're willing to put in the work at making the content high quality, then Egghead is there to help support you in that.

Taylor Bell (03:43):
Thank you for the kind words.

Kent C. Dodds (03:44):
Yeah, yeah. [crosstalk 00:03:45].

Taylor Bell (03:45):
It must be working.

Kent C. Dodds (03:46):
Yeah. I mean, and it's not just the Egghead videos and courses that I've made, but also testing JavaScript and Epic React to both benefited greatly from your help. Do you have Egghead videos as well? Have you made some yourself? Yeah.

Taylor Bell (04:03):
Yeah, so I did a Gatsby course. I think it was right as v2 of Gatsby was coming out on building a markdown blog. I have a few one-off lessons. Like so many people, I have partially completed creating a couple of things. And now that I'm, of course, talking about it out loud, I'm realizing I really need to finish that.

Kent C. Dodds (04:29):
Yeah.

Taylor Bell (04:30):
But yeah, you know how it goes.

Kent C. Dodds (04:31):
Yes. I have many unfinished things I'd like to get done. That's great. So, yeah, Taylor, you talked a little bit about instructional design. And you have used this process with my stuff and end with the stuff that you do at Egghead. I'd like to know before we talk about what it is, I'd like to know how you got into thinking about creating quality content, just the process, and what problems does instructional design solve? What problems were you experiencing before you started this process?

Taylor Bell (05:16):
So, this is what's funny about it, because it calls back to what you mentioned earlier about what Egghead's materials like. So, we have this kind of style where it's short to the point content. And so, one of the things where... Like how many YouTube videos have you watched where the first third of it is you can skip that, and then the last minute you can skip? And you really only wanted the one sentence that the person said in the middle, that's all I really needed to hear was that part.
And so, I think that what ends up happening is there's this misconception where, well, this thing is 40 hours long, so I'll learn everything I ever need to know from 40 hours. I don't know where I'll find the 40 hours to actually watch it, but I just know it will be there. But then you look at something else where it's like, okay, this is 15 minutes long, but it has everything that I need. I can hit pause. I can go on a side quest. So, that's where I like to lean towards that where if for some reason I don't get what I want out of something, personally if I don't get something out of it, then I've only lost 15 minutes.
And so, when I think about if I like this as a consumer, if I can help a creator to what is that best small piece. I was drawn to this by looking at what I appreciate in something, and then help others to reach that same level of enjoyment and fulfillment from the thing that they hope that they would get from learning it themselves.

Kent C. Dodds (07:09):
Yeah, yeah, yeah. That makes sense.

Taylor Bell (07:10):
I feel like I need a marker and like drawing a diagram or something like that.

Kent C. Dodds (07:15):
Yeah. It just makes me think, reviewing my own material and an experience of watching things on things like YouTube and stuff. And I definitely have videos and content of my own where the first couple of minutes in the last little bit are totally useless, especially my live streams. I only record those because people ask me to. I don't know what they get out of those because it's very low quality, like very low value to minute ratio stuff, but it's free. And I don't have the time to make it high quality in a sustainable way. But then I see some of these YouTubers or people just throwing together a video that spend a lot of time making this video, but then they spend a lot of time wasting our time. So, it's like a four-minute video, and three minutes were their intro or whatever.

Taylor Bell (08:09):
Yeah.

Kent C. Dodds (08:10):
And so, if you're going to put in the time to make it high quality, then you may as well get right to the punch and actually provide a huge amount of value.

Taylor Bell (08:21):
That was like a much more succinct way of putting what I was trying to get. Thank you for that.

Kent C. Dodds (08:28):
Yeah, yeah. So, you were in this situation where you're like I want to make sure that I can help people get their content to the punch and just provide that high value to minute ratio content. How does instructional design help in that goal?

Taylor Bell (08:47):
So, I think that it's like the difference between... Like you mentioned live streaming. And if somebody is just going to hop on Twitch, whatever and they're like, "I'm just going to hack on something for a while, and we'll just see where it goes," which is fine. It's entertaining. Not necessarily useful. Could be. But with instructional design, we flip that on its head where you look at like what the end goal is first. And then it's like, if I know that I want somebody that I'm teaching to be able to do the thing I'm going to show them in another scenario by themselves, to remix what they've learned from me, then I know that I want to work backwards.
And so, one of the things that was really eyeopening for me on this was Amy Hoy has a book, Just Bleep Ship. Yeah, I'll leave it at that. So, Amy Hoy wrote a book about planning. And one of the things... It's not just planning, it's backwards planning. So, when you start... The metaphor that she uses is like a Thanksgiving dinner. And so, it's like, okay, so if you were looking at it in a forward way, it's like I will put the turkey in the pan and da da da. I'm going to make this Thanksgiving dinner.
But if you plan it backwards, and you know we're going to eat dinner at 4:00 and the Turkey takes eight hours. So, you start going backwards. And you know for certain that you're going to be able to get from point A when you wake up Thursday morning to point B eating dinner with your friends and family at 4:00. By knowing your outcome and going backwards from there, you can be almost certain that you're going to be able to allow the person that you're teaching to really understand what they've learned from you.

Kent C. Dodds (10:45):
Yeah. So, it's very intentional. And what's interesting is several times when you and I have met to talk about what the goals were and things, I already had all the content, it was all done. And we were just saying, "Okay, let's take a step back and view the bigger picture and think about, okay, what are our desired outcomes and things like that." And I realized that the content that I produce was just mostly produced based on my assumptions about the things that I thought people would need to know and stuff, and I just cobbled it together. But looking at it holistically like that helped me get a good idea of, oh, there's this gaping hole of a concept that I just didn't think about including, or maybe there's a pretty big leap from this concept to the next. And yeah, so thinking about it holistically helped a lot.

Taylor Bell (11:40):
Yeah. So , it's easy to just look at the glossary of a textbook and know these are the definitions. So, these are the things like... almost like Jeopardy in a way where it's like, I can tell you lots of about this specific thing. And in Understanding by Design, which is the name of the series of, of literal textbooks. This is an academic discipline taught by doctors and things like that. In Understanding by Design, they call it the sin of coverage where you have this textbook and there's this misconception on behalf of the teacher that I have to cover the entire book. I have to talk about each one of these things.
And so, sometimes I think about it as like that 80/20. I think it's Pareto, Pareto. The 80/20 principle where the 20 percent of things you need to know that get you 80 percent of the result, and then the 80% of the things you actually use in the day-to-day. So, there's certain React hooks, for example, that you might use like once a year, whereas you'll use useState every five minutes.

Kent C. Dodds (12:53):
Yeah, totally. Yeah. And I'm actually the Sunday school leader, the Sunday school president in my local congregation, so I'm in charge of all the Sunday school teachers. And one of the things that we tell our Sunday school teachers a lot is you don't have to cover all of the material. There's way too much to cover in each one of the classes. So, you need to get to know your students and teach them the things that you feel like they need to know from the curriculum. And so, that's a real skill being able to distill this immense amount of knowledge that you have into just the critical pieces that people need so that they aren't spending 40 hours and trying to decipher the pieces that are relevant to them.

Taylor Bell (13:40):
Yeah. So, I think about it like if we take Epic React, for example. Where in Understanding by Design, we look for what is the biggest overarching goal. And so, with Epic React, and this this isn't a commercial. I'm not bringing this up because of that. It's just something that we built together. Well, it was mostly you. [crosstalk 00:14:02]

Kent C. Dodds (14:02):
We have a credits page for a reason.

Taylor Bell (14:06):
Yeah. So, the goal of somebody to take Epic React, the goal is for them to become a world-class React developer, to have a fulfilling career, to be able to handle any challenges that gets thrown at them. If that's the boss level, then what are the mini bosses? And so, we know that they're going to need to know about hooks and are going to need to know about some testing stuff and some suspense stuff and performance, things like that.
And then each one of these has their own like, well, my goal is to understand how hooks work, when to use them, why they came out, all these certain things. So, then each one of these breaks down further into like it's this pyramid effect of I'm going to need to do all of these things. Actually, instead of a pyramid, I like to visualize it as Super Mario world where there's like you can go to this level or this level, but eventually all roads lead to the castle.

Kent C. Dodds (15:05):
Right, yeah, yeah. By mapping that out, you find the different holes in your preconceived notions on what is appropriate to cover. Or you sometimes find that maybe you don't need to cover this particular thing and you can sidestep that or just like drop a link.

Taylor Bell (15:28):
Yeah. And that's one of those other parts of it, too, where if your videos or screencasts that you create. And I use that as an example because that's what I've worked with most. If it's just the docs in a different format, could be useful, probably useful. But if you don't take it and apply it yourself to another situation, and the academic term we use for this as transfer. Where if you can't transfer what you're doing to another scenario, whether you're the one teaching it or the one learning it, then you're just tracing. You haven't learned to draw. You've learned to follow the lines that somebody else has done.
So, I like to use the Todo list app for as an example. So, on its surface, if you're going to do a tutorial in here's how you build TodoMVC with React, and we're going to use whatever state management we want. So, the surface level is, okay, the goal is to build a Todo app. But it's really more like the surface level is to use the CRUD operations or to deploy an application that makes use of animations like CSS animations or something. I usually just stick with the CRUD. I should've just stayed there.

Kent C. Dodds (16:56):
Yeah.

Taylor Bell (16:57):
So, if people or if somebody is trying to learn, and it's just like, oh, it's another Todo app. I'm going to skip it. It's really the adventure along the way more than it is the outcome. Sorry. And by outcome in this case, it's not the thing you're building, it's what you do in order to build it. So, let's just talk about... Let's keep digging into this Todo list example.
So, if I was going to help somebody to plan how to teach a Todo list app as an Understanding by Design practitioner. I just made that up. I'm not officially a practitioner. I'm not sure if that's a real thing. So, we look at the desired outcome. Like I mentioned, it's not to build a Todo app. It's to build an application that uses the CRUD operations. And so, that stage one is we think about what are the results? What's going to be able to be transferred to other scenarios? What are the understandings? So, these are like the big ideas. And so, one of the big ideas of a Todo list is that the CRUD operations are like the foundation of every web application or every full feature.

Kent C. Dodds (18:08):
Yeah, yeah. When we say application, it's not like website.

Taylor Bell (18:12):
Yeah, yeah.

Kent C. Dodds (18:13):
This isn't your blog.

Taylor Bell (18:15):
Yeah. And so, when we're looking at what the results are that we want someone to take away, we look at the big ideas, the essential questions. And so, these are essential questions are questions like what is art, where there's not necessarily a right answer. There are certainly wrong answers. But it's really like what am I going to want the person to think about as they do this? And so, for example, it'd be like what order of operations should I do? So, in a Todo list, I can't remove something unless I've added something. But there's all these types of things like that.
We also look for knowledge and skills. So, this is where that kind of factual stuff comes in. So, it's not just the CRUD as a vocabulary word, but the skills of actually like, I don't know, writing an async await function that blah blah blah does the thing. So, that's a skill, a discrete skill, in and of itself. And so, these are things that when I plan this with an instructor, for example, this is the type of thing that somebody should be able to take away no matter what the demo is.
So, if we're mentioning CRUD, if the goal is for the learner to make a CRUD application, we haven't even talked about Todo list yet. This is all the underlying skeleton that if you do decide, as if you, instructor you, teach as a Todo list, then you, learner, should be able to make a shopping list or a packing to go camping list, something like that.
So, after we've got an idea of what the desired results are for somebody who's going to learn from you, the next thing that we look at is the evidence. And this is something that you've done really well in your series of live workshops that you've taught before making Epic React. And this gets away from the tracing, right? This is I want you to prove that you can do this.
So, I'm going to make you write a function that does something similar, but it's not just... Don't just type the same thing I typed. I know we say that about Stack Overflow a lot when people are learning to write code the first time. It's like even if their code snippet is the right answer, which usually on Stack Overflow the right answer is buried in the comments somewhere. And it's not the green check mark one, ever.
But what somebody should be able to do is just... you should be able to prompt them to do it, and they should be able to do it. And this gets difficult where with this self-paced workshops or things that aren't live where you, the instructor, don't necessarily have proof that they can do it. And so, one of the things that you've done, which I believe came from Make It Stick, is where you have your prompts for people to rephrase what they've learned. Is that accurate?

Kent C. Dodds (21:17):
Yeah, yeah. And that is from Make It Stick. And actually, what you're saying also makes me think of the generation step, where I don't show you how to do it first. I give you background information and links and things, but you need to go solve the work through the exercise on your own first. And then I'll show you my solution. And then I ask you to elaborate on what you learned to indicate that you actually know what you're... or that you didn't just regurgitate what I said, but now you have to put it in your own words.

Taylor Bell (21:52):
Yeah. And I think that writing piece is missing for a lot of people. I've been talking to a lot of people lately who are looking for their break into the tech industry. And somebody that I talk to has 50 GitHub projects, which is awesome, except there's no write-up about it. It's a series of traced drawings. It's I built the thing in this course the exact same way as the instructor did. And there's no, "This was hard for me," or, "This is how I would do this a different way," or, "This is how I used to, and this is how I do it now."
So, there's various types of ways to develop challenges, for lack of a better word, opportunities for somebody to prove what they've learned. And it's tricky when it's async. And so, I think that the stuff that you've done with your repo layouts, for example, like using the emoji keys and having extra credit and stuff like that, opportunities for people to take a stab at it. Because that's one of the beauties of web apps is you certainly know when they don't work. There's always something to learn from there. And then after you've determined what the proof is before... Like you haven't even... In our Todo list scenario. And I realize that I'm kind of jumping around a bit here.

Kent C. Dodds (23:27):
Yeah, you're good.

Taylor Bell (23:29):
We still haven't talked about like, well, first I'm going to use NPX Create React app. And then I'm going to import this library. And we're not talking about that yet. This is all stuff that people are going to be able to do after they work through your course. And so, then it's not until you know what somebody should take away how they can prove that they know something. It's not until then that you start planning out what are the lessons that I can teach that will get the person to these goals?

Kent C. Dodds (24:04):
Yeah. Yeah. And that's really critical, I think. So, one of the things that Understanding by Design has is these... And I don't know anything about this, but you alluded to these three stages of UDP or BD, Understanding by Design. Can you tell me what are... You've taken me through these before, I know, but tell us what these three stages are.

Taylor Bell (24:36):
I will do them in order instead of jumping around this time, too. All right. So, stage one, determine the desired results. Stage two, determine the evidence that proves that somebody is working their way towards achieving these desired results. Stage three, develop the learning plan that gets somebody to be able to prove that they're learning the things that they will need to understand in order to apply what you've taught to another scenario.

Kent C. Dodds (25:04):
Okay, yeah. If I wanted to teach somebody how to build a CRUD application, that would be my desired outcome is that when they're all done, they can go off and build their own CRUD application, right?

Taylor Bell (25:19):
Yes.

Kent C. Dodds (25:20):
Okay. So, then what was stage two again?

Taylor Bell (25:22):
So, stage two is the evidence. We would call it an assessment evidence. So, how would you... Not necessarily a quiz where it's like true or false, or I don't know, I picked C because that was the best answer. Not that. But what can somebody do to show they get it? And so, this would be like, write a blog post, create a code sandbox, do a screencast. There's all these types of ways that somebody could look at and be, oh, this person knows what they're doing.

Kent C. Dodds (25:58):
Got it. Okay. So, if you're creating instructional material and you want to follow UBD, then you're going to say, okay, the desired outcome is for them to be able to build a CRUD application. The proof or assessment is that as part of this, they need to write a blog post or create a code sandbox or something. And then that last stage of... Yeah, what would be the... if this is what we were building today, what would we do for that step?

Taylor Bell (26:29):
So, the last step is getting the lesson list that gets the person to... that ultimately lead to the end result. So, if you know that one of your assessments is going to write a function that fetches data from an API, then you probably need to have a lesson that explains how to do that.

Kent C. Dodds (26:52):
Okay. Yeah, that actually makes a ton of sense. So, once you figured out, okay, so I know at the end of... So, each one of these steps leads into the next. It's in a specific order for a reason. So, you have to have an idea of what you want, the desired outcome, and then you have to be able to prove that the outcome was correct. And then that third step is where the rubber meets the road and you say, "Okay, so how do I prepare them for this test?"
It's almost like you've got a test that you're just preparing people to take. And instead of just saying, "I'm just going to send a bunch of content your way." I'm actually going to make sure that you remember this stuff that you learn, because I'm preparing you for this test that maybe you don't even know about but I have in my head of this test that I want you to be able to take. And so, because I know what that test is, I know what I need to do to get you ready to take that test.

Taylor Bell (27:49):
Yeah. So, it is sort of like red green and testing where just thinking about like, okay, I know what success looks like. I'm trying to picture this in my... I haven't thought of it quite like this until what you just said. I know this will come as a big surprise, but I'm just kind of freestyle here for a second.
So, if your big outcome is for the person to be able to build a CRUD application. And you, the instructor, are using a Todo list. And one of your challenges will be... So, for example, if you fetch like... I don't know. If you're teaching how to make a query, and you fetch Star Wars API stuff, the way that somebody interacts with that API is going to be slightly different than if they interact with the Pokemon API. But ultimately it's the same idea.
And so, you'll never know what other APIs a person will need to interact with. But if they've seen you do it in video one way, and then they've had a challenge to do it in another way, then they should be able to on their own now choose anything in the whole world and determine what is the same and different about the examples that you gave, the challenge that you gave, and what they should do in their real day-to-day life.

Kent C. Dodds (29:12):
Yeah, that makes a lot of sense. I think that results in at least thoughtful content, for sure. So, we're reaching the end of our time. Was there anything else that you wanted to mention before I give us our homework assignment?

Taylor Bell (29:27):
Well, it's a lot to it. And I realized that it sounds like only three steps, but they're three recursive steps. And it's overwhelming sometimes, but it's a lot of work upfront for a much, much higher quality result. And it's really fascinating to me to see how it's the same thing repeated. It's three steps all the way down. Every sub step has its own three steps. It's just I just love talking about this stuff.

Kent C. Dodds (30:09):
Well, it really is fascinating. And there's a whole study of this. Like you mentioned, there's the Understanding by Design. It's like an actual textbook that people [crosstalk 00:30:22].

Taylor Bell (30:22):
There's about five of them.

Kent C. Dodds (30:24):
Yeah, yeah. But there are those three stages. And I think people can at least start experimenting and trying that out. And so, that's what our homework assignment is going to be to... You don't have to necessarily teach something if you don't want to, but think about something that you know that would be something that you could teach to somebody else. And if you're new in the industry, don't sell yourself short. I promise there are millions or billions of people in the world who you could teach something to from a technology standpoint.
So, think of something that you could teach to somebody else, and try to frame it in those three stages of UBD. Just write it out on a piece of paper. Say here's the desired outcome. Here's some of the assessments or some ways that I could have my students prove that they get it, that they have accomplished that desired outcome. And then based on those assessments, here are the things I need to make sure that I would cover and teach so that they could be successful in those assessments. That sound good to you, Taylor?

Taylor Bell (31:33):
It does. And I appreciate you making... It's sort of a callback to our earlier thing where I took a long time to explain something that you just did in 10 seconds.

Kent C. Dodds (31:45):
It's easy for me to explain something when you've spent the last half-hour explaining it well, and now I can just summarize it. And if I had just given that summary at the beginning, then nobody would know what I'm talking about. So, thank you for your experience and for all that you do for Egghead. The number of people listening to this who have benefited from what you do for Egghead and for Epic React and touch JavaScript. It's like literally almost probably all of them. So, thank you for what you've done. It's been awesome chatting with you, too. And where's the best place for people to connect with you online?

Taylor Bell (32:24):
I'm not very good at Twitter. I have one. It's Taylor Bell, T-A-Y-L-O-R B-E-L-L. I actually like email, Taylor@egghead.io. I know that's weird that I like email, but yeah.

Kent C. Dodds (32:41):
That's all right. That's good.

Taylor Bell (32:43):
Yeah.

Kent C. Dodds (32:44):
Tighter connection.

Taylor Bell (32:45):
Yeah, exactly. And I would love to take a look at like if anybody takes a stab at a three-stage homework, I'd love to check it out. It's really fun for me. I love nerding out about this stuff.

Kent C. Dodds (32:59):
Cool, cool. Well, yeah, definitely email Taylor your three-stage writeup. Thanks, everybody, for giving us some of your time today, and thank you, Taylor, and we'll see you all in the future.

Taylor Bell (33:11):
Thanks.

Sweet episode right?

You will love this one too.

See all episodes

Featured episode

Stephan Meijer Chats About Side-Projects

Season 4 Episode 19 — 30:34
Stephan Meijer