Online teaching courses - proof of knowledge

Published October 8, 2023

There’s an art to teaching a technical course or workshop. In this episode, we are joined by Josh W. Comeau, who’s had a lot of experience teaching courses to help share his knowledge with us on how we can create an online course.

Guests

Picks

Panel

Episode transcript

Edit transcript

Ryan Burgess
Welcome to a brand new episode of the front end, Happy Hour podcast. Next month in November, Jemini will be giving a management workshop at front end masters. Jem has so kindly pulled me into this. He's always been bugging me like you should do a workshop. And he's right. I do want to do this. But I actually have no idea what I'm doing. I've never given a workshop. And so I'm really excited for today's episode we have Josh on who's definitely a pro at giving workshops, has done a lot with React various, various things that he's taught online. So we have him to help us here. And Jim is a pro at it as well. He's done many front end masters. So I'm pretty much here to learn today. And I'm really excited for it. Before we dive in. Josh, can you give a brief introduction of who you are, what you do, and what your favorite Happy Hour beverages?

Josh W. Comeau
Yeah, well, first, thanks so much for having me. It's an absolute delight to be here. My name is Josh, I am a software developer located in Montreal up in Canada. I've been depending on how you count doing this either since like 2007 When I first started tinkering, or like 2014 When I got my first actual job doing it in 2020, I left my job as a software developer for Gatsby Inc to pursue developer education. So I've been creating online courses ever since I've also taught locally at a coding boot camp here in Montreal called Concordia boot camps. So quite a bit of experience doing that beforehand. And quite a few years now, remarkably, the time flies I've been doing this now full time for three years and drinks right beverage, I have drinking a Perrier energize, which is a sparkling water with yerba monta added which is surprisingly caffeinated. Like, there's 140 milligrams of caffeine in it. So pretty good.

Ryan Burgess
So I'm excited for your energy level. It's already at a good level. It's like it's just going to keep going up. That's that's exciting. It's also also great having a fellow Canadian on I should have even said that right at the start. But it's awesome. Yeah, it's great to have you on. We've all met at various conferences over the years. And so it's really great to having you on Josh jam. I guess it's you and I for panelist, Jim, you want to give your intro and I'll get mine we'll dive in. Yeah, Jim

Jem Young
Young engineering manager at Netflix. And I've I've taught a few courses over the years, on front end masters and in person too.

Ryan Burgess
And I'm Ryan Burgess. I'm a software engineering manager at Netflix. I have probably taught some things but just not really the online workshop or course been fully dedicated. So yeah, lots to learn, which I'm excited for. And in each episode, the front end happier podcast, we like to choose a keyword that if it's mentioned at all, in the episode, we will all take a drink. And what did we decide today's keyword is teaching teaching? Yeah, I'm sure that's not not coming up in this episode. Not at all. I mean, let's start off have How do you even go about picking a topic for creating a course or workshop?

Josh W. Comeau
Yeah. So this is, you know, when I goodness, how much backstory do I want to give? When I started getting more involved in the like developer developer community, maybe like 2015, when I joined Twitter, I saw folks like, West boss creating these online courses. And I thought, well, that's cool. It's a fun way to, you know, use your developer edge, like skills have like a really big impact. And in the back of my mind, it was like, I want to do that one day, that seems like it'd be a lot of fun. But you know, I had a job and I got, I continued getting jobs and pursuing the IC track. And in 2020, I, I, ironically enough in physiotherapy, for I was playing beat Sabre, and I hurt my shoulder. So I was in physiotherapy and the exercises my physiotherapist gave me, led me to pull the nerve. And that led to several months, where I couldn't really use a mouse or keyboard. So like, I found myself all of a sudden, actually, like, struggling to do the day to day work of a developer. And it's a little bit morbid. But I had this moment of realization that like every one of us, we can imagine the number floating above our heads, which is the number of keystrokes we have left in our life. And every time you press a key on your keyboard, that number goes down by one. Hopefully, it's a very large number, but there's only so many of them. And so the realization was like goodness, I should be using this resource wisely like, and I was satisfied with the work I was doing, which isn't to demean the work. You know, I've done a lot of like, I worked at Khan Academy for a while and I'm really happy the work that I did there, among other companies as well. But I wanted to do my own thing. I thought it'd be a lot of fun. So I left my job. I started building a course I actually I built most of my course platform using a microphone and eye tracker as the input mechanisms instead of a keyboard and mouse which is really interesting. And something that isn't on topic, but I do have a blog post called coding Bible voice so if you Google Josh coding by voice, you'll find that and see how that works. But yeah, God, I'm so off topic. The question was, how do you choose a topic? Um, the way that I did it was I thought, Okay, I have a bunch of skills that I know how to teach the I literally did like a list, like a pro con list. And what I eventually settled on was CSS because I figured it would be the thing that I knew how to teach. That was important that a lot of developers that I knew struggled with, like essentially the largest impact for the smallest amount of work. Like if I spent two hours with somebody, I can really get them to be a lot more comfortable with CSS compared to like JavaScript or react. I mean, they've already invested so much. And like so many of us just learn CSS, incidentally, when you pick it up as you go along. And I was delighted to see by the way that Eric Meyer was on a recent episode, because he's one of my personal heroes. So that was fun. It's cool to see CSS, getting some more of the spotlight. But yeah, for me, it was just a matter of what can I teach that would have the most impact? I liked

Ryan Burgess
that a lot jump, how have you chosen topics,

Jem Young
different different paths a little bit. I was not stuck in a hospital and thinking about my own mortality. But mine, I think probably the one of the courses I'm most known for is the full stack for front end. And that's just something over the years, I have the natural proclivity towards the back end, even though I do like JavaScript, I do like UI I've always lean towards like platform server, how infrastructure works. I think that's fascinating. I still do. So probably over the years, you'll see me descend slower and slower into the server realm and platform. But in all my explorations over the years and talking to UI developers, I, I noticed that there wasn't a strong understanding about what happens past the UI. So it's like the data comes from somewhere. That's usually where most people stop. They're like, Oh, yeah, here's the API, like, oh, you know, you can change the API. They're like, What do you mean? Like, it's just, it's just an interface, just like anything else. And they're like, Oh, well, that's a different team that does that. Like why you could do that, too. So it was just over the years, I'm like, people don't know this stuff. And to me to be a Willie, a well rounded engineer, especially a well rounded front engineer, you should know how these systems work. You don't have to be experts at it. But when someone's when someone's talking about like nginx, or how load balancers work, you should probably have some sort of understanding of like what they're talking about, just and it helps you be a better developer. So that's how I came up with the full stack for front end course. It was just, I just want to educate people on how the whole thing works, how to how kind of how the web works, how the internet works, how servers work, and give you a brief taste of it. So that, you know, maybe you don't want to do UI development forever. And you get a taste of everything like database administration, and security, how to create your own server and all these things that seem like really, really daunting. And I covered it in like, a couple days, and people are like, Oh, wow, yeah, I feel better. This isn't, I'm not really interested in this anymore. Or like, this isn't where I want to go. I still like UI development. But at least I know what other people are talking about, I feel more confident in my day to day job. And that was my my inspiration. What why keep doing is, it keeps me fresh, too. That's probably the second part is I teach courses on things that I want to know. And I want to make sure that I know, because the surest way to learn something is to have to teach somebody else, because you don't know what they're gonna ask you. So you have to like, round off all this extra knowledge. So it's kind of a cheat code for learning things. The same for giving a presentation when I sometimes I'll write a proposal for a presentation on a topic I don't know much about, but I want to, and I know that the pressure of having to give a presentation will force me to learn it. So I don't know. I could probably be more organized about my life and learning like Josh, but yeah, that those are some of the reasons why I teach courses.

Josh W. Comeau
I've heard that referred to as conference driven development, which I think is just

Ryan Burgess
I mean, that one gem has said that many times and that one is always resonated with me or not resonated, I think it's like, inspired me in a way where I always thought like, I have to know this, right? I have to know the topic really well, in order for me to speak on it. But I really love that is like, yeah, you do learn a lot having to feel the pressure to like, share this knowledge with others. I think for me, like even when I've taught or spoken at a conference, it's often leaned more to what am I passionate about? What do I feel like I can like, share my perspective on but I think Jim has shared that with me many years ago. And it's like something that stuck out to me where I'm like, Yeah, that's it is a really good way to actually like forcing function to learn.

Josh W. Comeau
That was actually why I started teaching at a local coding bootcamp. Well, part of the reason was, because I had noticed that myself like ilio, the coworker like someone will ask me a question like, what's the difference between a statement and an expression? And I know it I've and working with both of those things until you open your mouth. And it's like, oh, actually, I have no idea. Like, I have some sort of broad intuition that I've developed from years of using the language. But in terms of like how this actually works at a deeper level, like you discover these pockets of like, you've, you've worked around these gaps in your knowledge, and now like, oh, I can fill those gaps in now because people who are learning have a knack asking you at finding those holes for you. And exposing them.

Ryan Burgess
I love that you said that, like I even struggle sometimes with like acronyms, right? Like someone will like ask you like, what's the acronym? Like? What are the words in it stands for? And I'm like, I can explain what it is. But I'm like, don't ask me what the like actual acronym makes?

Josh W. Comeau
Quick, what is the REST API?

Ryan Burgess
Yeah, it's like you're like, oh, I don't know. I know what it is. I know how to use it. Like, I didn't explain all that. But you're like, yeah, what is those like that it's so funny how that works, too. So like, I love that you said that plus,

Jem Young
plus one. And both of what you're saying, there's so many holes in my knowledge that if you asked me to explain them, I would struggle, even though I know how to use it. I know what it is. But I think for a lot of JavaScript engineers, hoisting is one of those that you're like, explain that really simply, and they're like, put the thing and then the variable moves at the top, and it could be. And like, it's really, it's hard to explain it really simply, which, to me, and this is just um, speak for myself means like, I don't understand it well enough. And it's one of the hardest things to do is explain something really, really simply because that actually requires so much knowledge to break it down this to like the simplest possible component. And that all goes into like teaching a workshop. So when you see a concept taught, really well, it just means the instructor just really knows what they're talking about.

Ryan Burgess
I also like when people have really good analogies too. Sometimes it analogy cannot land and you're like, Yeah, you force that. But sometimes when someone can really tie it back to an analogy that really resonates with people that can go a long way to and it's it is like that, like how do you break down a concept so people can truly understand it. That's the that's hard like that is even though you probably do like, understand how to use it, or write that code, whatever it is, but it's just hard to explain. And so I think that's a whole skill set.

Josh W. Comeau
Oh, yeah. For sure.

Jem Young
My sister called me on this the other day, I was my oldest sister, she's a lawyer. And I was telling her what I do at Netflix. And I was like, oh, yeah, I lead a platform team. She's like, what's a platform? And I'm like, Oh, well, it's a thing. And people build on top of it. She's like, I don't really understand. And I was like, Man, she called me on it. Like, I know what I do. But I struggled to break it down. And I don't know, I like that sort of thinking, because it really challenged me to break things down to like, the first principles of what are you doing? Why and make it really, really simple, which is really hard. But yeah, it to be it's a great way of pushing yourself, right?

Ryan Burgess
So you have a workshop or course created or you're in the midst of creating it, how do you decide like, how and where to host it? Like, I think that's a big, you know, that's a barrier to is like, you know, it's one thing to hit record on your camera, but like, how do you actually distribute it and think about that,

Josh W. Comeau
yeah. So for myself, I have this, this fundamental idea that learning is active. And if you really want to learn something, it's not enough to listen to someone talk about it, you have to actually do it. And you can absolutely encourage people to do that through video. But what I wanted to do was essentially build a platform that would have that interactivity baked in. And granted, like I left my job and was incredibly privileged in that I had like, maybe two years of savings that I had banked, so I knew that like the, this was during the pandemic, too. So there was a lot of uncertainty. But I figured, like, the worst case was that I would work on this thing for three, four months, release the course, either it would go well, or it wouldn't. And then I could find another job. And in fact, it took many, many times longer than I thought it would take to build the course. But I built my own course platform. And that was something I was able to do because I was doing it as my full time job. Like I could just build, you know, build a whole application to deliver the course. Because yeah, I do think it's so important to have that interactivity and you can absolutely so like I think, you know, if you want to use an off the shelf course platform, something like teachable or podia pod, I never know how to pronounce that. You can it's just gonna be a little bit more challenging in terms of like, how do you actually get the student to do the thing? Because it's so much easier to like, I noticed myself too, right like I would much rather just like sit back and like listen to someone speak about something for half an hour then like okay, I guess I'll do the exercise I guess you know, like it's, it's it's our nature to be more passive. And I do think you need both like if your course is entirely active, then you will exhaust and burnout your poor learner. But yeah, definitely. That was top of mine for myself. So when it came to like, where I was gonna host this, it's like, well, the only way I can really deliver the experience I want is if I build it myself, which I think is ultimately an excuse, like, I just like building things. But it is true that like I can do, it can be the exact experience I have in mind, I don't have to compromise, I don't have to find some service that can like embed a code pen and deal with the limitations of that. I like

Ryan Burgess
that. Yeah. And I kind of figured it was a nice excuse to build something to you, because we all like love doing that, like it's great. But then you also have that control. And you can like really build a proper ecosystem around what your users of your course want to I think that's kind of cool, too. You just have a lot more freedom there. Obviously a lot more responsibility, though. But it's still very cool that that's the approach that you took, which also led me to a question you had mentioned, like it took longer than you expected. How long does it actually take to put together a workshop? This is what scares me the most, right? Like, this is coming up in November for Gemini. And I'm like, I've done a little work, but not a ton. And I'm worried about the time investment. That's always been my biggest concern.

Josh W. Comeau
So I think actually, first, I think it's worth distinguishing between workshops and courses. And I think that there's it's not a binary it's like a spectrum, like there's a whole bunch of different ways to teach development. In my mind, a workshop is like a synchronous thing, whether in person or remote, where like we have an afternoon, a day a week where like, the instructor will lead the group in doing something. This is sort of like what a boot camp is like a boot camp is really just like a month long or week long workshop. Of course, at least the way that I'm defining this is like a self paced, like it's, you know, I create the content ahead of time. And then students go through it at their own pace. There is of course, interactive elements, like we have a community, people can ask questions I'm available. But that's the fundamental difference that I see it for workshops, I actually don't have that much experience, I've done a couple of them at conferences. And for those I probably spent a couple of months of part time work preparing and discovered it was woefully insufficient, but it was actually kind of okay. The thing that I've learned is that creating a self paced course, is a lot more time intensive. Because like, if you mess up the consequence, like, if your workshop materials are unclear, then the person will raise their hand and they'll say, excuse me, like, What do you mean by this, and you'll say, Oh, this is how I should have done that. And that student is solved. And if you repeat the workshop, you can change it for that time, a self paced course you're not there. So like, you really want to, and this is the highest praise I can get. And I've gotten it a handful of times. And I can remember those specifically, is when someone said, I had a question and the next paragraph answered it, like when do you anticipate the question that's coming, because the only way to do that, in my experience is to go through many, many, many rounds of testing. So like with my courses, I start with, I try not to record videos, but sometimes kind of have to. So I'll have a bunch of written content, some interactive content, but that also takes a lot longer to build. And I'll have like 50 to 100 people go through it, send me all their questions. I'll like redo it based on those questions, get a new group do it again, with both of my courses. And actually, I think this is a detour, a small detour, but will help contextualize. With my first course, the goal was to do it in three or four months, I figure I'm doing this full time. Granted, I did have that liability, which was that I couldn't type. So coding by voice definitely slowed me down a little bit. But I figured I'm doing this full time, I can build a platform, I can release the course, those three and four months passed, and I was like halfway through the platform and hadn't started the content yet. I told myself, Okay, I'm giving myself six months from that point. So it would have been like nine or 10 months total. And at that point, I will either finish the course or I will release whatever exists. And that time came and I had finished half of the content. So I decided I'm gonna do an early access launch. And so I and I was doing the content in order. So that course had 10 modules. Five of them had been completed. So I released it. And to my incredible surprise and gratitude to 1000s of people purchased the course. And those 1000s of people are now test users because I released it in beta. To date, my courses have gotten something like 7000 pieces of written feedback, and I have read each one. And so that is a very good way. And granted, like what you discover is that everybody has their like pet thing like apparently I say the word essentially a lot. And so one person like every lesson there, like you said, essentially seven times in this lesson and 11 times in this one. Some people will object if you spell I forget which is technically correct. When you have a number if you're supposed to use the number or the spelled out like whether use the numeral two or TW o but people will point out things like that. So you get a lot of feedback that is to put it charitably like not critical to the impact that I'm trying to have. But you also get a lot of feedback where like people will just they don't understand something and when you see the Same thing come up a couple of times, then you really know that like, oh, there's, there's some work that has to be done here. And that's how I think you get to that point of getting the comment of like, oh, you anticipated my question. If I didn't, it's that a bunch of people before you asked it. So I knew to go in and add the answer at that point. But yeah, so for self paced content, I think it can take quite a long time for live content, you can be a little bit more lacks, because you're going to be there. So if the content isn't perfectly clear, you can clarify it.

Ryan Burgess
I also really liked the iterative approach you took, like, where it is like testing and learning and iterating on it. Like it's I love that approach, like, so you are learning that on the flyer and just improving it along as you go. But I also love that you are like even just that, like nitpick, it's nitpicky feedback that you're getting right, like the two versus the like, written to. That's kind of cool, though, too, because it's, those are sometimes those questions that you kinda like, which one do I use? And if someone's happy to tell you, you're like, great. I thought something you learned right then and there?

Josh W. Comeau
That's true. Yeah. Oh, it doesn't, it probably looks bad that I don't remember, which is the correct one. But one of them is correct.

Ryan Burgess
You know, there's times like, my spelling is horrible, or there, I've done the wrong grammar. And it's like, you know what, it's like, you make the mistake. And that's how you actually remember and learn it. I love Grammarly for that, because it will tell me and I'm like, oh, yeah, I probably should have wrote that better. Josh, you've, you've spoken to us a little bit. You've talked a little bit about the particular formats for sharing content. Like we've talked about video, we've talked about interactive. What do you find is the best way to deliver a course for someone to learn, especially at a scale, right? Like you're not everyone learns differently. And so, you know, how do you get like something that works for everybody?

Josh W. Comeau
Yeah, so the first thing is to accept that it will never work for everybody like the same course, I think I'm doing well, if roughly the same, because you know, I have a refund policy that's very flexible. If you don't like the course, for any reason than 30 days, you can return it. And my goal is to get as many people telling me that the course is too easy as people telling me that the course is too hard. I figure if I can get that balance like that. Somewhere in the middle is probably good. Yeah, I did like so when I was at Khan Academy, I learned quite a bit about learning, because that's what we did. And what I learned is that the idea of like people being visual learners, or like Written Learners, like that's not really based in science, like there's some truth to the preferences, people have, like people might prefer to learn in a given form factor, but there's not really the efficacy difference. It's like, you know, it's not like some people are just much better, but learning through video versus through audio. And so I really think it depends on the thing that you're teaching, right? Like, for a while I was learning blender, which is 3d illustration software. And it would be very hard to learn that through like a podcast, because it's a tool for people that don't know that there's like a million buttons, like it's a very visual, it's like the dashboard of a plane kind of software. And so for that, like you need a video, like you need to see someone, okay, this is the button that I press, this is the keyboard shortcut that I hit. Whereas like gem for your engineering management content, like that's something that like a format like this actually works really well. Because for something like that, you get the practice in your work, like, you know, you you, you front load the information, and then you practice it, because it's interpersonal, so you can't really do that on your own. So like, there's so much that is dependent on the topic. And that's why, like in my courses, there's five types of content. There's written content with interactive elements, like it's pretty much my blog, like, if you're familiar with my blog, I have a lot of like embedded stuff. And I use the exact same stack, which is MDX with next, Jas. That's it like the primer like most lessons, have at least some written element with small interactives. There's exercises which as you might guess, is just practicing the stuff that we're talking about, although actually I have a thing to talk about there, too. I'm gonna put a pin in that. There's videos, there is mini games, which is kind of a fun thing I create these little, you know, we're being charitable when I call them mini games, they're quizzes. But usually the input mechanism is a little bit novel. Like one example in my for my react course, is I show you HTML, and JSX. But the JSX is incorrect. Like, someone has tried to convert the HTML to JSX. And they've made a mistake, they didn't change class into class name. And so the two things are presented side by side. And it's like a spot the differences game like you have to click in the place and if you get the if you click the right thing, you a little circle around it that so you know, it's a quiz, but it's like a slightly more interesting tactile version. Yeah, the pin I wanted to put in something was around. What was it? What did I say? I wanted to put a pin in.

Ryan Burgess
It was around xx exercises in general, which is yeah, I want to ask about anyways. So yes,

Josh W. Comeau
yes. And this is another like, how do you teach to everybody? One of my goals in the course is for the exercises to not merely be practice, like you need practice, that's good. But like if the lesson is let me show you how to get from A to B. I want the first exercise to be the same thing but slightly different and the next exercise to be to get to see like I want the exercise to go Beyond what has been taught, because that's where the learning happens, right? Like, that's the point of, like, I'll give you some of the breadcrumbs like, well, we'll go down the trail together. But at a certain point, I'm, I'm disappearing into the woods, and you have to finish the journey yourself. A lot of people hate this. Like, I get a lot of feedback from people that say, like you shouldn't be giving, you never showed us how to do this, like, why it's unfair. And I, I've since learned that I have to be much more upfront and explicit about this. And like, the first video in my course, is about having a growth mindset. And just like understanding that, in this course, there will be times where you will be asked to do something that you haven't been shown how to do. And that can be frustrating. And that's not a lot of fun. But the thing to realize is that you learn so much more from trying and failing to do something than you do from blowing through it effortlessly, right? Failure is so much more productive than it feels. And this is a term that I learned productive failure, which I love. It's not a lot of fun. But it's incredibly valuable. And so that's what I try to like, whenever I have one of these exercises, where the feedback is like I really struggled with this one, I tried to add little footnotes like struggling for this is actually a really good thing like, and then another bit of feedback that I really like getting is like, because actually, I should finish my list. The fifth content type that I have is projects. And those are like, we leave the confines of my course platform. And it's either like maybe in code sandbox, or you download a Git repo, and you like solve a bigger, more real world inspired problem. And this is where the feedback I hope to get is like, Oh, wow, like this, it came so much more naturally to me than I expected it to because you struggled earlier, like now you can actually solve those problems. So you're never gonna please everybody I think is how I would answer the question that I have circled, or like wandered quite far away from. But the goal is to make sure that the you choose the format for the thing that you're trying to teach you that it, it sort of makes sense. And you hope that people can actually apply that in their work afterwards.

Jem Young
Yeah, that's the summary. We come across here on Friday, happy hour, where people are like, well, how come you don't get super tactical? Where the earlier episodes we get super tactical? I remember, I think Episode Two is like, unless explaining trampoline scheduling for, for,

Ryan Burgess
for observables

Jem Young
observables. Thank you. Yeah. And it was like, Yeah, but that's not really it's not easy to understand, unless you understand part one, part two, part three, and then we're just going down the weeds. So we've learned to keep it higher level for podcasts, because people are probably aren't sitting in front of computer, they can be like, oh, yeah, cuz you can't understand programming by talking about it, you have to do it. Just like you said,

Josh W. Comeau
it is really interesting that like, an analogy I've used in the emails that I've sent around my course launches is like, you wouldn't expect if you watched every single instructional skateboarding video that exists, like, you can watch them all right, you can watch Tony Hawk, do all of the tricks. And you would still expect to fall down if you stand on a skateboard for the first time, right? Like there is a difference between the theoretical understanding of like, Oh, so you do this with your ankle and, and then actually like building the muscle memory. And I think we have an intuition around that with physical skills, but not so much with like programming, even though I do think it very much applies in the same way. Like you have to get practice doing it, you have to build up that experience. So I think that there is definitely a space for the theory. And I think podcasts like this are great because they allow people you know, you're on the train, you're driving, you're doing you know, this is the form factor that works for the time that you're for the activity that you're doing. And the great thing about podcasts is I look forward to doing the dishes now because I have a thing to listen to. But ya know, there is definitely a you know, you need to get some practice in there too.

Ryan Burgess
I like the Think of like a podcast format is like it's a good way to introduce something, give them like some of the terms or things to even maybe do a little research on your own after the fact like I think there are definitely topics that maybe lend more to a podcast format, but definitely like that higher level is is a good nature to kind of get you started. Yeah, like we're not all jumping on our skateboard and doing like a Tony Hawk 900 Just because we watched the boat videos online. I clearly don't think that's going to work. But ya know, I love that. Maybe Josh and Jim, what's been like the most challenging experience you've had or lesson learned from creating a course.

Josh W. Comeau
I feel like I've been monopolizing. I'm gonna throw this to Jim also that way, I have time to think

Ryan Burgess
it's always a good way to do it.

Jem Young
Not at all. Just you're learning. I'm learning a lot too. I've done courses that I'm like, Oh, wow, I've never thought of in this perspective. So you're not monopolizing at all. For me. It's always the beginning, especially with a new topic, where I'm like, hey, I want to do a course on this. Like, cool. Here's what it's do. And I'm like, All right, all right. All right. And then I get that I'm like, Oh, crap. What do I What do I do? Yeah. And to me like that, that front loading of all the research of like, watch it, someone takes the longest and that's sometimes the most challenging because like, what do they need to know? To get to the end and state, and there's so much you can go into, but trying to distill that down into this, this, this, this, and this, to me is like one of the more challenging parts. Another another challenging part is just what you're talking about Josh, which is the handoff, I believe in that too. I don't believe in step one, step two, step three, step four, you start people there, but eventually, it's like, Here's Step one, here, step 10. You have to figure out how to get there. And I truly believe that's the best way to learn not just watching someone or listening to them. But figuring out when that is, and making sure they they have the knowledge to close that gap is is like one of the most challenging parts. Lessons Learned have been not doing due diligence, like Josh said, he sends out the course to some beta users gets back their common questions that addresses those. That's something you have to do, because people will get stuck on things you're like, it's so simple, but they will get stuck on it. So I've made that mistake before be like, Oh, it's so obvious. Bla bla bla bla bla. So overestimating where people are coming from and, and not establishing a good baseline of knowledge first, and then moving on is like one of the the lessons I've learned early on, and seeing people get stuck on like, step one, or step two, is just so rejecting as an instructor, because you're like, oh, man, there's so much good stuff here. And it's really basic. So that's something I've learned over the years is, get a good baseline, don't assume anything about someone's knowledge, assume they know nothing, and build up from there. Yeah,

Josh W. Comeau
that makes a lot of sense. Do you think it's, this is also I think, maybe not the most, this would definitely be like, among the top challenges is figuring out how much knowledge to assume because it's true in a workshop setting. If you're there in person, you can rewind as much as necessary. But in a self paced course, you don't really want to do that. Because a lot of people, this is something that frustrates me is people will request a refund. And they'll say the course is so basic, I thought it would be more advanced. And you check their activity, and they look at the first three lessons. And it's like, well, there is advanced content. It's just the other, you know, the 75 lessons after that, where we build up to more event things. Yeah, so that that's one of the most challenging things is just like, understanding that, you need to find some amount of assumed knowledge, like unless you're building like, really like just the intro to programming course, like in that case, you know, for self paced content, you can start right at the beginning. But for my courses, I do assume that you have some knowledge and figuring out how much to assume the other thing that I think is much more challenging than I expected. And I wish I could remember who said this, because it really stuck with me, it's like one of those quotes. It was a conference, talk about how to give conference talks. And the point, the speaker, and maybe someone, if either of you happen to remember who this was, please let me know. So that it's more important to be entertaining than to be educational, like that is your number one job. Because I think we've all seen conference talks where they are information packed, right? Like it's the most like educational type script talk ever. And you're on your laptop, like looking at Twitter, because like, it's just it doesn't hold your interest. And it doesn't matter how high quality the content is, if you're not gripping the person is, you know, I think we all have shortened attention spans. And so in a lot of my courses, I'll try to do things that are like a little bit quirky, or a little bit strange, or, like, you know, it's another reason to have the different content types is you're constantly mixing up what the person is doing. So it's not just like video after video after video. And like examples, right, like coming up with interesting examples where it's not just a to do list app over and over, you're like, in fact, in my course, in my react course, we do have a to do list app, but it's in module five. And I make a point, like, we made it all this way without a to do list application. Like we were gonna have to have one eventually. But it's pretty good that we made it this far. Without one, there's six modules in the course. So that's most of the way there.

Ryan Burgess
We all have learned from some To Do app at some point in time. It's just like that is a given I love that you call that out? I'd be curious from both of you, too, is how do you measure success for a course like how do you know that you've done a good job like Josh, I think alluding to some of the like iterative approaches of like, oh, I need to tweak this and make it better. I've gotten feedback to help people. But overall, like when you take a step back, like how do you know that that's actually been successful?

Josh W. Comeau
It is really hard, especially like, I think in a workshop setting, it's a little bit easier because you give me a sense, like when you're working with somebody, like in the workshops that I've given, the way that I would do it, is I would be up at the front. And I would say okay, this is you know, we all start from the same sort of code and I'll start us off in okay, this is the problem, one of the workshops that gave us about how to do confetti in the browser, like render some live animating and we use a physics library. And so you know, like I do the first bit and that's okay, here's some ideas to make it a little bit more creative. You can rotate you can do this. And then I wander around and I like look over people's shoulders it probably makes them pretty uncomfortable. But you do get a sense of like, Have I had an impact like are they do I see the gears turning? Do I see like they're doing interesting, interesting things and some of them absolutely like some students, you, you get that result and it's really sad. Find other students are still just like, you can tell like they lost you 10 minutes ago and you have to like, and that's where it's great with live workshops is you can sit with them and be okay. Okay, this is what I meant when I said that and you know you like Jim was saying you rewind a little bit and you realize, oh, yeah, like you. This is how you define a variable in JavaScript. I never told you that. So like, yeah, that's definitely in workshops for self paced courses is challenging, because you're not there. And the completion rates for self paced courses are terrible. Like, for a long time, I didn't even look at the numbers, because I was too scared to look at the numbers. And I still honestly couldn't tell you, I do know that I offer a certificate of completion. And I think you need 80% 70 or 80% of the course. And something like 20% of people who buy my course will reach that point, which you can look at that and think well, that's kind of you know, that's not great. But I've heard from so many people who said, like, I only did the first module, and it helped so so much. So like, ultimately, someone might only get through 5% of your course. But if that 5% provided a ton of value to them. Well, that's not a bad. That's actually what I've noticed a lot of students do is they go through like one module, like they'll buy the course, there's one part they're interested in, they know this stuff before. They don't care about this stuff after but like this is what they're interested in. So completion rates, I think, is not the right metric to use, because there's so many ways to interpret what it means to have 25% completion. But yeah, it's definitely tricky. I think like user feedback is another, like just the fact that you hear from people who have told you that like, this is the result of that, you know, I did really well in a job interview that I don't think I could have done as well had I not gone through your horse, like that's always really nice. But obviously, it's cool. It's like anecdotal, like, you can't, it's hard to know, a scale and like to what percentage you're having the impact you're hoping

Jem Young
Yeah, I think with like, I'll talk primarily about my full stack workshop, the end, the end result is you have a webpage, your own website running on your own domain connected to your own server. And if you get that, I'm happy. Because that means like, it's kind of it seems relatively simple. But the steps to get there, coming from a front end perspective, where you didn't know how any of this stuff works. And now you do, to me is really satisfying. And I always hope people get to that end. And I love when they share that with me on Twitter in person, whatever. Let's say I made a website, jump check it out. I'm like, cool, because that just tells me like you made it to the end, or at least you picked up enough knowledge along the way to like have this new skill set you didn't have before. So that's really satisfying. Same same as Josh. Yeah, most people probably won't finish. Nothing you can do about that. But hopefully down the road, you know, I can see I can see the impact. And that's what my favorite thing is like years, years down the road sounds like, Oh, hey, Jim. Yeah, I really love your workshop, it helped me get a new job, or I actually changed careers because and that to me, is that my favorite kind of feedback? Or I'm like, okay, that makes it all worthwhile. Like, absolutely, you take what you can get, and you hope it lands. I really liked

Ryan Burgess
that you both called out that completion rate piece of it too. And I think it just made me think about maybe not getting too hung up on some of the metrics, right? Like, is some of that qualitative feedback and people telling you that that was actually beneficial and help them in some form. I think that's, that's so valuable to just know that, but also not get too hung up on that completion rate. Because Josh, like you said, it's like they came for the one piece that they really wanted to go deep on, you know, like, I think about this is helpful for me thinking even for the management course, that Jim and I are putting together is, there's like Gemma's covering the management 101. And I'm covering 102. And you might come for more of the 101. Or you might come for more of the 102. Or you might just come for like a very specific thing where it's like, maybe it's covering how to do proper one on ones as a manager, or how to hire effectively. And that's great, right? Like, that's actually you've taught someone something, they took away some side of it. I think I've even said sometimes when I see someone give a presentation, or even people who are scared to speak at a conference, because they're like, hi, everybody knows this topic. There's, you know, 10 other react talks, and I'm like, yeah, that audience might know react. But if they can take away one little snippet of like something interesting or approach that you took differently than someone else that to me that's a success rate there because you taught someone something and not so you're not going to say the whole course was perfect for someone so I really liked that you called that out because I would be a little worried to to get hung up on that actual real data. And you might, you might stop you might make the workshops shorter or you know, reduce something in it that could be very valuable to someone so good call of maybe as we're diving into pics, I think this honestly, there's so much valuable information. I'm like taking notes because I'm like, Yes, this is so helpful for me. But you know, what's one piece of advice that you both would leave our listeners with? If they're like, You know what, tomorrow I'm going to start a core or saw on said topic, you know, what's a piece of advice that you'd say to just to help them out? Oh, goodness, I have so many. You could rapid fire some to Josh. That's always good too. Yeah. So

Josh W. Comeau
the biggest thing that I think helped me was having in person teaching experience, right, I got a job at a little coding bootcamp, I spent two years as like a TA, where people would come to me with questions about the curriculum. And then I also built their rack curriculum and let it was the instructor for one of the cohorts. Obviously, that's not like, mandatory, and that's not maybe not realistic for a bunch of people. But that is so good. Just giving you the fundamentals of how to teach because Ryan, you said this earlier, like it's a skill, like learning, knowing how to teach something is like you can be, I think we've all seen people like this, who they are amazing at their craft and terrible at teaching it or explaining it. So that's the like, any sort of synchronous practice, whether in person or remote, if you can get that you can do a workshop, do a free workshop, right? Me advertise to like, just try to get people in for free. The other thing I would say is like, if your goal is to create the course as a means of providing significant income, right, whether that's, you want to do this full time, you want to have it be like, you know, to cover your rent or your mortgage, like if the goal is to make money with it, then the core should not be the first thing you do, the first thing you should do should be to build an audience, like you should start a YouTube channel, start a blog, be more active on social media, like give people a sense of what they're getting with you and provide a bunch of value upfront, so that when you do finish, when you release your course, people are like, oh, yeah, I've seen that person, I've seen their content there, they helped me understand something in the past, they're willing to give you that chance, because I've seen so many people, their first step is they create a course and they put so much work into it. And they release it to their 17 people and like they're a couple of their friends buy it. And it could be amazing. But like, you haven't really given anyone a reason to trust that you are the person to learn this thing from and, you know, Ryan, like you were saying, there's already so much, you know, like you search react on Udemy. There's 417 courses, like, there's still space, like I made a React course this year, which like, you know, there's, there was certainly no shortage before mine. But you can do that, if you've given people an opportunity to try your content and see it, you know, just to get us into your teaching style.

Jem Young
Yeah, that's fantastic advice. Yeah. And plus one on the find the audience first and then build the course. Because, yeah, even even workshops that I do, those are 100 plus hours, which is it's so and I know the material, and it still takes that long to put it together. And it one I'd say one piece device, it will take long and you think you're like, Oh, I know this stuff, but when you have to explain it. And then you have to like break it down the fundamentals. And you're like, I don't know these fundamentals, then you have to learn that yourself. It will take longer than you think especially your first one. I guess second second piece of advice would be Yeah, do it, I really think teaching is the best way to learn something. So everybody should do that. Even if it's in your company, something small, just couple of your peers like Hey, um, you know, think about teaching a two hour workshop on Apollo and Graph QL people will really appreciate that. And it gives you a skill in explaining things simply one of the traits I've noticed with really good software engineers, like staff, principal and beyond, they can explain really complex things very simply. And that is a skill that is totally underappreciated our industry, it's easy to throw a bunch of keywords and things up people and be like, oh, yeah, I think they're pretty smart. But if you can explain a really complex topic, really simply, it gets people a lot farther than you throwing a bunch of fancy words and software jargon at them. So yeah, I highly encourage everybody to take their crack at teaching it doesn't matter how big or small it is. It is a valuable skill for you

Ryan Burgess
I like the called that out gem is like I think there's opportunities to like we're talking a lot on these like, you know, scale like large scale, online courses, workshops at a conference, but you can in your company or in your team it just appear or mentorship but all those little things is actually getting you exposed to some of that teaching. You know, hearing you all talk I haven't done the large workshop or online course but I'm like yeah, I've done those like peer to peer mentoring or maybe in a smaller group. I'm teaching something and I think that has helped me feel more comfortable to do something larger. I think another piece of advice I would provide is have a friend like Jim who makes you do it that somehow it works so yeah, just find that someone to hold you accountable. In each episode of the front end happier podcast we like to share pics of things that we found interesting want to share with all of you. Some of them might be related to the topic some may not Jim, do you want to start us off? Yeah.

Jem Young
So I have two picks today. The first one is a movie film on Netflix called extraction which all extraction to and I really like these because they're they're like such what's the best way describing not hardcore action movies because I guess they are pretty hardcore, but not in terms of like over the top whatever. It's just like the the action sequences are choreographed so well that they flow together in such a way that they are they border on unbelievable But because they're so well done you're just go with it. And extraction to I just this the sequences are just incredible. I don't know how they how they put all together. I don't know. I really should do more research to like what sort of genre This is. But I'm really happy this genre of action movie exists because it's like not too heavy on the emotions not overly gratuitously violent, I guess it is, but the sequences are. Yeah, pretty, pretty stunning. I highly recommend that extraction one into the just great action. My second pick is the valley shield can pick for those who's ever listen to the show, Valley silikon is the part of the podcast where I pick things that are crazy or ridiculous expensive and only exists because we hear in tech in Silicon Valley, you pay too much money. This one is actually courtesy of Ryan Burgess. I won't question why he was looking at this but so I'll ask you Josh, because Ryan already knows it is you you're familiar with electric scooters? Yes.

Josh W. Comeau
Actually. Wait, do you mean the like the Moto the mini motorcycles or the like assistive wheelchair type? Like what which variant of scooter or the like kickstand? Like the one where you kick? Like a skateboard with a handle? Yeah, more

Jem Young
skateboard the handle type? Okay, you know, like, I can't remember any of the companies that came in went already out of business. But you know, remember when scooters were gonna take over the world revolution? Yes. Yeah, that didn't happen. That kind of scooter. So how much would you be willing to pay for one?

Josh W. Comeau
Goodness. So I did buy one of them. And I think I paid $600 for it a few years ago. And that was my limit.

Jem Young
Well, you know, now that you're a successful course, course creator. Can I interest you in the Bugatti scooter? It retails for a very reasonable price of $1,600. Wow, these are just fantastic. I don't know what differentiates this between any other type of scooter but and I don't know if anybody is going to be rolling in the street sounds like Oh, is that a Bugatti? Scooter? But you never know. People People have to, you know, represent for their? Well, I don't know. But if you're interested in you know, I sent you the link there. Send me a picture of you rolling illustrate that, that'd be great. And those are my picks.

Ryan Burgess
You know, Jim, I didn't go looking for this. I will say it was an Instagram ad. And I'm like, what? Why does this even exist? But hey, it does. So I obviously sent it your way?

Jem Young
No, no judgment.

Ryan Burgess
Joshua, what pics do you have for

Josh W. Comeau
us? Yeah, so I'm gonna go with two different book picks one on topic one, not the book pick is called Make It Stick. And it is by me. Actually, there's several names on the back of this brown, Roediger and McDaniel and it's a book all about the science of like, how to teach something. And it turns out that it's, it's the best like distillation of a bunch of things I've learned from a bunch of sources. I think the main point of the book, like the thing that keeps coming up, is that we're really bad at knowing what effective learning is like something can feel really effective. And it's not until we can feel this gets back a little bit like we were talking about earlier, like struggling does not feel particularly effective. But it is and so if you're looking to learn more about like the science of how to teach something, or how we learn, make it stick fantastic book fictionwise. And Jimmy we're talking about like, I love the like trying to identify the the niche genre the name of the niche genre, because I have an author that I like called Becky Chambers. And she writes what I would describe as like cozy slice of life science fiction, where like, it's science fiction. So like, it's in space, and it's in the future. And there's, you know, different species. But it's not like the epic adventure the Star Wars take over the universe, I think it's just like, there's a group of people and they have interpersonal issues on their trip. And like the story, like her debut novel is called The Long Way to a Small Angry Planet. And like, in this universe, you have the ships that have to eat, there's portals, but the ship has to go there first to put the portal there. And so you have to travel for like months to get to the place to put the portal. And like they you get into like interpersonal issues, because they're different species may have different cultures. And it's just like, amazing. It's so cozy and fun and nice. And everything that he chambers writes, you just feel good reading it. So absolutely. If you're looking for some, some not too thrilling science fiction, it's, it's kind of the opposite. What Jen was describing.

Ryan Burgess
I love those genre things too, because it reminded me clearly with the word cozy that I learned about, I think it was the last week or two. Netflix is doing a lot with games. And I had heard of something called cozy games. And so there's like a genre of games called cozy games. I'm sure there's more gamers out there that know more than me, obviously. But I had first heard them like what the hell is that? And so it sparked interest in me to be like trying to understand what is that genre? So that was kind of interesting and make it stick Josh I read many years ago. It is a good one. For this episode. I have two picks totally unrelated to the topic, but my first one is a burger restaurant in San Francisco. That is It's been there for ever like, it's it's definitely an old restaurant. But I had never tried it and I ate there last weekend. It's called beeps burgers. It is so good, I would say it has, it was one of the best burgers I've had in a really, really long time. So I'm probably going to have to go back there. But yes, I highly recommend checking that one out. And then I have another podcast that I'm going to recommend an actual specific episode. The podcast is called the pitch, which is it's essentially like a shark tank podcast, like where people are. Entrepreneurs are pitching something. And so I've listened to it from time to time. And so I'm listening to it the one day and driving along, I think he's taking my son to school. And there's this company, como yo, it's a platform for helping with user testing, specifically in Africa. So like really hitting that market. And so I'm hearing this woman talk and I was like this voice, man, I know this woman sound sounds so familiar. And I come to find out it is a designer that I've worked with at Netflix for many years. And she, you know, left Netflix and has since gone on to do this startup. So it was really cool to hear Miriam on the podcast talking and I didn't click for me until I you know, had to like look her up. And it's like, oh my God, it was the voice that reminded me it was really cool. But she did an amazing job pitching Earth's startup. And so I highly recommend checking that out. Josh, thank you so much for joining us on this episode. It's been so amazing having you on I've learned a ton thank you for sharing your knowledge. People are interested in following you getting in touch with you, you know, checking out your online courses, where can they get in touch with you?

Josh W. Comeau
Yeah, so the home base for all that I do is my website Josh w como.com. My last name is French, which means it's spelled in a bafflingly confusing way c o m. E. Au. You can learn about my courses, CSS for JavaScript developers and the joy of react. And I'm also on Twitter, which I will call it Twitter until the very end of the platform. Josh W como there as well. And I really appreciate you having me on the Pleasure is all on this side of the table. Thanks so much.

Ryan Burgess
Thanks so much for coming on. We've We've thoroughly enjoyed it as well. Thank you all for listening. You can find us on Twitter at front nhh front end happier.com Please subscribe to us on whatever you like to listen to podcasts on. Also leave us reviews. Let us know how we're doing that qualitative feedback goes a long way. So please, please let us know how we're doing and how we can improve or what you like about the show. Any last words? Teaching? I don't think we said the word teaching.

Jem Young
Full time. Wow. Yeah, that's cheers. That's great.