{
"$type": "site.standard.document",
"canonicalUrl": "https://devtools.fm/episode/126",
"content": {
"$type": "at.markpub.markdown",
"extensions": [
"YAML"
],
"flavor": "gfm",
"frontMatter": [
{
"description": "Joel Hooks from Egghead discusses years of developer education, course creation philosophy, and his new Course Builder platform.",
"publishDate": "2025-01-05",
"tags": [
"technology",
"coding",
"programming",
"education",
"egghead",
"badass",
"courses",
"developer",
"education",
"future",
"software"
],
"title": "Joel Hooks - Egghead, Badass Courses, and the Future of Developer Education"
}
],
"renderingRules": "remark-gfm",
"text": {
"$type": "at.markpub.text",
"markdown": "<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin-bottom: 1.5rem;\">\n <iframe\n src=\"https://www.youtube.com/embed/_FmhA3W3zKU\"\n title=\"YouTube video player\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;\"\n ></iframe>\n</div>\n\nThis week we're talking to Joel Hooks, a founder of Egghead.\nFor years Joel has been building courses and helping developers learn to code.\nHe's been the invisible hand behind many of the high quality courses that have been created over the years.\nOn this episode we talk to him about his journey through developer education and where he thinks the future lies.\n\n- https://egghead.io/\n- https://joelhooks.com/\n- https://badass.dev/\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership\n\n## Sections\n\n- [00:00:00] Introduction\n- [00:02:10] The Evolution of Course Creation\n- [00:07:36] Building Egghead: From Idea to Success\n- [00:14:56] Ad\n- [00:15:15] The Badass Courses Manifesto\n- [00:18:33] Crafting High-Quality Courses\n- [00:27:57] The Philosophy of Digital Gardening\n- [00:30:24] Introducing Course Builder\n- [00:39:04] Challenges in Developer Education\n- [00:47:56] The Future of Developer Education\n\n## Transcript\n\n#### [00:00:00] Introduction\n\n**Joel:** being able to record your screen and teach people's stuff is, um, Frankly, just, you know, like, like firing off a video to a co worker that unlocks something, especially when we're in this kind of age of remote work, um, it's, uh, it's like a superpower,\n\n**Andrew:** Hello, welcome to DevTools. FM. This is a podcast about developer tools and the people who make them. I'm Andrew. And this is my cohost, Justin.\n\n**Justin:** Hey, everyone. Uh, we're really excited to have Joel Hooks joining us. so Joel, you are one of the early founders of Egghead, uh, and that's been a pretty inspirational, site in our community, a great source of education for anything technical. we're excited to talk a lot more about that, but before we dive in and talk about that and some of the other stuff you're working on, uh, would you like mind telling our audience a little bit more about yourself?\n\n**Joel:** I personally identify as a software developer and that's what I enjoy doing. Um, almost more than, anything I love, building and making things and, uh, and, maybe a chronic sort of way. Uh, but as it happens, I have spent over a decade building basically the same project over and over again, and kind of refining an idea.\n\n**Joel:** And that's something I really love too. And it's a space where not only do I feel good about what we build, but it gives me a lot of opportunity to improve and use something new and cycle through. You know, the good ideas that are in the space and feed it back into the education piece, because like part of my job is staying abreast of what's, you know, interesting and basically what's good, uh, in terms of, uh, what's available for developers at any given point in time.\n\n**Joel:** Um, and then I'm also super enthusiastic about it. Like I really love technology and I really love like the bleeding edge and what's coming, right now. Versus, you know, like what, what I've already done, um, which, you know, good and bad, sometimes I have like a trail of bad ideas that I've left in my wake.\n\n**Joel:** which can be, you know, expensive and frustrating sometimes. And then also you accomplish some stuff and have those eureka moments where we get to kind of break through and, you know, go, go beyond the tools and build something that's bigger than the sum of its parts, I guess,\n\n#### [00:02:10] The Evolution of Course Creation\n\n**Andrew:** That, that theme we see a lot here on the podcast where a, uh, a developer gets just kind of obsessed with a problem and rebuilds it over and over again, eventually iterating to like, That today's golden state, but let's roll it back a little bit, uh, to before you started egghead or started working on it.\n\n**Andrew:** Uh, what was the course education creation space like before egghead? Like, was it hard to release courses?\n\n**Joel:** I mean, it's, it. I think releasing a good course has always been hard and you can take Back as far as you want, um, not to speak for the ancient Greeks, but I would suspect that they, you know, had some struggles when they were coming up with a new curriculum or whatever. Um, and then, you know, like, like. When we started doing this, I I've been doing this for a long time. So when I first started doing this was 30 ish years ago with like macromedia authorware and building, um, instructional content. And I was a graphic designer at the time. I wasn't doing the programming side of it, but we were doing like air aircraft maintenance production.\n\n**Joel:** And we, it would just, you know, there'd be a lot that would go into that. And there's. As technology has improved. So has the, you know, the, the tools around what it takes to put together some sort of string of courses. And obviously that when we were doing that, that was kind of, it wasn't pre internet, but it was basically pre internet, um, like 1998 or so.\n\n**Joel:** And that sort of thing is, um, you know, that, that was meant to be like delivered on a CD ROM, um, like, like Macromedia, Dreamweaver, and those different things that we had back then, where you would deliver instructional content on the CD ROM, um, And now, you know, obviously we're doing it on the internet and that introduces new, new problems.\n\n**Joel:** Uh, and I think about at the time when we were building egghead, there wasn't, there wasn't a lot of optionality, um, YouTube at the time, I think they were coming up with some, you know, it was still. Relatively young, they were coming up with ways to monetize it before you could even make any money on YouTube.\n\n**Joel:** Like now it's totally different because people can make a living on YouTube and that's great. I'm still pretty disappointed in like how, like what it takes to put a course online. And like what we've built is a pretty complex apparatus and the kind of self serve non technical. You know, like, like people that don't have the ability to build their own entire platform are kind of left with pretty, pretty mediocre options, in my opinion, but they're better than they were for sure.\n\n**Joel:** 10 years ago,\n\n**Justin:** Yeah. I think like what you're teaching matters a lot. So like in a technical world where you have like code that needs to run or execute or be previewed or something, you know, there are a lot of people just like do videos, uh, some people just do like static web pages and you get like the more interactive components.\n\n**Justin:** What do you think are like the parts that make a good, successful, like technical course, especially like in the early days and sort of like how you think about it now?\n\n**Joel:** we were just having this conversation recently where. I think, like, the production value is, is something that people put a lot of thought into. Um, I have like an elaborate. Lights and camera and you know, uh, I'd say a thoughtful background. It's actually just my office, but the, the, you know, like there's a lot put into that and, and a lot of emphasis on that.\n\n**Joel:** And there's a lot, you know, like where people think about that, but at the end of the day, what people really want is good content that they can learn from. And I can take ideas from that they can apply in their, their actual life. And the production value almost ends up being more for the creator in a lot of ways, like just to like, you know, make us look and sound our best, right?\n\n**Joel:** Like we all want to do that and we want to present our best, but like from a learner perspective, there's like a threshold where none of that actually matters if the content is really good. And I'm often frustrated. By, you know, how a thing is presented, but I'll still like suffer through it to consume the information because if it's, you know, if it's the only way I can get that information, then, then I'll, I'll go ahead and live through that.\n\n**Joel:** And that's like, try not to, you know, be a hater on people that, that are presenting instructional content and in certain ways, but like, in my heart, I hate it that they are having to, that they have to do that, that they don't have an easy way that, that to present it in a way that's. That's nicer. And you know, like part of what we do is trying to, um, I like to work, I call it visible source because I don't actually like intend to support people that want to, like, try to use our stuff, but I like to keep it open so people can take those ideas and run with them and use that as reference.\n\n**Joel:** Cause I really like personally love to learn that way. I'm not much of a. Like sit down and watch a bunch of videos type of person. I'm kind of a hands on person. Um, so give me some source code and I'm gonna, gonna be in there and loving it. So that's one of the reasons we do. We work the way we do is so that people can have some opportunity there to, to kind of push it forward.\n\n**Joel:** And that's actually something we've seen with egghead is that, um, people have taken those ideas and we have a site, howtoegghead. com. And I see those ideas in the developer education space and even beyond a lot You know, we kind of, I say it's their, uh, short screencasts for developers that hate watching long, boring videos.\n\n**Joel:** And, you know, like that kind of ethos that like, Hey, we don't have to ramble on, we can keep it short, um, and, and present, you know, like get right to the heart of what we're talking about. I love seeing those ideas carried over outside of our space, um, by other instructors,\n\n**Andrew:** So, uh, egghead is like an enormous platform now. I just looked it up and you guys have almost 7000 different courses on there, which is just, uh, crazy to start out with.\n\n#### [00:07:36] Building Egghead: From Idea to Success\n\n**Andrew:** But what led you to egghead? And then how did you scale it to like this massive amount of videos and like instructors and people?\n\n**Joel:** so. John was making videos. John Linklist was making Angular videos. And at the time I thought they were great, right? He was making them and they're, they're on YouTube. and I was taking Amy Hoy's 30 by 500 course, which, uh, is still fantastic. And I recommend it to anybody that wants to build, build products and build a business and, and an ethical, sustainable sort of way, um, it's, it's still big influence on me, but John was making these videos and I was like trying to figure out what I wanted to do in terms of, um, some sort of product.\n\n**Joel:** Cause that was always my goal as a developer was to, I started doing this so that I could figure out some sort of product to build. Um, and I was like, ah, man, I think I can sell these videos. And John. was very skeptical at first and I was like, no, really, I can't just let me try. And we did and people, you know, gobbled them up and then almost immediately I was like, what if we added additional instructors to this and paid them, you know, royalties based on how much they were, that people watch the videos.\n\n**Joel:** So, uh, we tried that and people, you know, started subscribing, uh, just kind of one thing led to another and. As it turned out, like the bringing in instructors, that's really a difficult thing to do. Um, generally speaking, getting other people to do things is really difficult and it's also really difficult when all you're asking them to do is like work a second job or maybe more for a lot of people.\n\n**Joel:** And that's, you know, like, that's what we offer. It's like, oh, well, you, you know, you're really busy. You're really smart. Your work is very intellectually draining. But when you get home, wouldn't you like to sit down and do something that was incredibly hard and uncomfortable and, you know, record these videos?\n\n**Joel:** Cause it's not easy. Like if you have ever tried to do screencasting or recording, it's frustrating. You get actual stage fright when you're literally just sitting in your home talking into a microphone and it doesn't make any sense, but your body says otherwise. It's like, I, you know, my brain is.\n\n**Joel:** Rebelling against me. It's technically difficult. Um, you, you know, you're doing take after take and a two minute video can take you three hours when you first get started. So it's like, how do we get through that process? And we've had several hundred instructors at this point and, you know, like, we're, we're very good at that actually.\n\n**Joel:** Like, that's something that is a core competency of us as an organization is, is bringing people in that don't have. Much experience in trying to remove the friction from their, like experience in terms of, of becoming educators. And it's been fantastic. What the coolest side effect is seeing people that are relatively early in their careers start doing this and just watch the, like the hockey stick of growth in terms of their career, because.\n\n**Joel:** There's literally, there might be better ways. I don't know. One of the, one of the best ways that I've seen to elevate yourself as a developer and get kind of recognition and kind of skip the line, so to speak, is to get out there and educate and show people the way and people will see that. And you'll get a bunch of like low effort content out of it.\n\n**Joel:** And we're like, just absolutely, uh, I guess now we're even more deluged with low effort conference content. Now that people can be like, generate me an article. Um, But that isn't it, right? That isn't it. Like people recognize the effort and the actual, you know, communication and fundamentally like the, the struggle that goes into creating this thing and it's evident in the result.\n\n**Joel:** And that works really, really well. And there's not a lot of ways to shortcut it, but you can make it smoother and you can, you know, Like learn from the basic mistakes, uh, of, of, you know, like how to do this and how to do a quality without having to experiment and iterate over time, you can kind of jump to, like, Hey, let's start making high quality stuff.\n\n**Joel:** and you know, like if you go into any, if you go into YouTube, one of the, uh, it's kind of fun to go into like popular people, uh, content producers on YouTube and go all the way back to the beginning of their channel and see, you know, what they're doing. The evolution of production value and content quality and all that fun stuff, um, is, is really kind of interesting.\n\n**Joel:** And, you know, that's what we help people do a lot of times is skip past some of that.\n\n**Andrew:** Yeah, definitely is fun to go back and look at creators old stuff like Marques Brownlee as like a 14 year old kid reviewing technology.\n\n**Justin:** Yeah, for sure. And you can see that all over the place. And, and, you know, it's like, it's a practice thing for sure. And then, and eventually you get to where that two minute screencast takes 10 minutes instead of three hours. And it's like a, a practice skill and like anything, right? Like it's, it is difficult to do and you have to practice, but once you get good at it, now you have something that's really, truly a valuable skill, even beyond like education, like getting down and being able to record your screen and teach people's stuff is, um, Frankly, just, you know, like, like firing off a video to a co worker that unlocks something, especially when we're in this kind of age of remote work, um, it's, uh, it's like a superpower, Yeah, for sure. Speaking of journeys, uh, so when you and John had started Egghead, it was like, you'd left your job. You're like doing this. It's like, I'm going to try to turn this into a product. And it's been very successful. How was it like in those early days? It's like, so this is a completely bootstrapped company.\n\n**Justin:** That you sort of build. Is that true? Um, like what was that journey like? And how long was it until you like felt pretty comfortable? Like, okay, this is the thing I'm, I'm in my lane. I'm like doing the thing that I want to do.\n\n**Joel:** I don't know if I have reached the Like, like satiation and comfort in my life, uh, as far as that goes, but it was pretty quick actually. I was working as a consultant and, and kind of flipped over to doing training because it was AngularJS at the time. It was notoriously difficult to learn with, you know, transclusion and, all the rest of the, the new words that people had to learn, but it was also huge in enterprises.\n\n**Joel:** So I was doing a lot of on site training, um, to, to help that transition. And then our, you know, like initial growth was huge. we've since kind of. Not only plateaued, but tapered off on that, that side of the business. And that's been an interesting journey as well as like when you like kind of a parabola of revenue growth has, has been just a challenge to even think about, but that's also because of like splitting efforts and thinking about other, other problems as well.\n\n**Joel:** but yeah, it was, it was, you know, it, it, it was within six months where John and I were both able to. To kind of focus on egghead and pursue it full time and then, you know, like we, we grew staff and it was a rails app at the time. Um, still is in a lot of respects, mostly the accounting, but I didn't expect actually was that platform perspective.\n\n**Joel:** What we're actually building is accounting software. like a CMS also, but like the accounting. Backend is what it turned out being. And I have, I've had to learn more about that space than I frankly ever would have thought I would have wanted to, or, or definitely been interested in. It wasn't, you know, my sort of aspirational dream of mine to build accounting software.\n\n**Joel:** But that's what you have to do. Cause you know, like we handle the money and that's what, and that's one of the most difficult aspects of it is like handling, handling the commerce and handling customer support and doing all that stuff is another huge source of friction to anybody that wants to, you know, put it out there and, and, um, Yeah, make a little.\n\n**Joel:** Make a little money and then also, you know, like elevate your, your profile.\n\n**Andrew:** Cool. Let's move on a little bit from egghead.\n\n#### [00:14:56] Ad\n\n**Andrew:** We'd like to stop and thank our sponsor for this week, but we don't have one. So if you'd like to sponsor DevTools FM, head over to DevToolsFM slash sponsor to apply. And if you want to find another way to support the podcast, head over to shop. devtools. fm, where you can buy some merch and rep the podcast.\n\n**Andrew:** With that though, let's get back to the episode.\n\n#### [00:15:15] The Badass Courses Manifesto\n\n**Andrew:** Uh, you've been posting a lot about bad ass courses recently. you have a whole article on what makes bad ass content. so where did this like bad ass manifesto come from and how is it like materialized into bad ass courses?\n\n**Joel:** So that's bad ass. dev is that site. And so the actual company, um, that, that we use to produce these courses is, uh, Skill Recordings Incorporated. And I describe it as a, like a business mullet where we have skill recordings in the front and, and. The mullet fun bit, the party in the back is, is bad ass.\n\n**Joel:** And honestly, like I, I put that up as a place where for me to just blog, but the team liked it. And then people just started referring to it as bad ass courses. And it's 100 percent an homage to Kathy Sierra's work and her book, badass making users awesome, which I don't, I think everybody should read it in like a literal way.\n\n**Joel:** Not just in, in software. It's just a really fantastic book. Uh, and that's, That's what the idea is. It's like, how can that entire book is about taking difficult topics and making it to where folks can. Get past what she refers to as the valley of suck and into like the good parts where you're, you're actually, you know, doing the thing that you want to do.\n\n**Joel:** Right. And she uses things like photography and snowboarding, which is notoriously difficult. And people will go out there and day one, it's just, you know, like how many times can you land on your face and be like, ah, this is a really horrible activity. I don't like it. But if you can get through that, And you can go hit a mountain and snowboard down the mountain.\n\n**Joel:** That's like one of the greatest experiences and feelings you can ever have in your entire life. Um, but you have to, you have to get there and the same is true for, you know, programming computers and it isn't easier now. And we have all sorts of great tools and you know, like LLMs are awesome.\n\n**Joel:** And I use, I'm engrossed in these tools, but I don't feel like it makes the actual job much easier. And in a lot of ways that some, Sometimes makes it more complex and it's really, really difficult and people get in there and they, it is frustrating and you, you know, like, like you give up because it makes you feel like you're dumb a lot of times and it's not the case.\n\n**Joel:** It is just legit hard and there's a lot of vocabulary and there's a lot of things to learn and there's a lot of moving parts and there's a lot of pieces from, you know, getting here and typing in. your editor to like deploying something on a server that other people can interact with. And then just the kaleidoscope of complexity that comes along in there.\n\n**Joel:** So to me, like bad ass is not the content. Bad ass is where we're trying to help people get to, right? We, um, sometimes we're bad ass, but that's not the, you know, like that is not the intent. This is what we want to help other people achieve is from where they are now to being a bad ass. At doing what they want to do and achieving what they want to achieve.\n\n**Joel:** And to me, that's like, at the end of the day, what, uh, you know, like what a badass course would do is, you know, like take somebody from, you know, like, um, I'm confused and don't understand and I'm frustrated, but I know, you know, where I want to be and helping them get there and, you know, like a lot of the material, I mean, yeah, that's, I think we're, we're relatively successful in that goal, um, and keep getting better.\n\n**Joel:** So, yeah. Yeah, that's great.\n\n**Justin:** It's interesting.\n\n#### [00:18:33] Crafting High-Quality Courses\n\n**Justin:** Cause this is like a transition from like how egghead operated as a platform. That's like. Sort of, maybe not fully self service, but like you, you go to egghead and you consume a lot of content and you've sort of changed to like, it's almost as like production company that we will like produce this.\n\n**Justin:** Like, I don't want to say produce the content, but like wrap it up in a way where it's like a standalone, like very high quality thing known for its sort of like own, own brand. What was the, the sort of like phase from like. Thinking about content creation on a platform like egghead to thinking about like these more, I guess, bespoke high quality, highly like produced like courses, like what was the sort of path getting from one to the other?\n\n**Joel:** It was a, I was at react rally and talking to somebody and they wanted to make courses. And they were like, I don't want to make egghead money. I want to make Wes boss money. And I was like, I don't think you understand what Wes like actually does to do his thing. Right? Like that isn't like he just rolls it out there.\n\n**Joel:** And comparatively speaking, an egghead course is much smaller. And that's like our whole shtick is that we make these small things and it's just the, the scope of it. It makes it less friction. You know, I'm like, I mean, people do want to do that. And we have instructors that, uh, come out of egghead and do their own thing.\n\n**Joel:** We've, you know, like, uh, Josh Como was an egghead instructor and Tyler McGinnis was an egghead instructor and they come out and make really awesome stuff. Um, through, through that process. And they, they put in the work and, and, you know, instead of seeing people go and do their own thing and become direct competitors to what we build, like, how can we.\n\n**Joel:** Like help facilitate them. What does that mean? And, um, I called it West boss as a service, um, which West thought was funny and I still think is funny. And it was Kent C Dodds that first was like, I really want to make something and I want to do something, you know, kind of beyond that, and I had this idea.\n\n**Joel:** And we, we made testing JavaScript, which was kind of the first of egghead thing that we made. And, uh, so, and then we did Epic react, which was just a bonkers bestseller course that, you know, like, like. I wish I knew the magic formula that went into that. It was a confluence of factors that produced that particular course. You know, these are, these are bigger things and they're standalone. They're really the same thing. Like at the end of the day, they're very similar. Um, total typescript. Epic Web, Testing Accessibility, ProNextJS, um, just JavaScript. That one's actually different from Dan and Maggie. That one's more of a, it's more book like, but still, like, fundamentally, and even a lot of those.\n\n**Joel:** Used egghead as a back end for years. That was a grave technical error on my part to couple All of these things so tightly that I've spent a lot of money a lot of time and effort over the last few years Unwinding on that decision. It's much much better place now But yeah, it's when I say, you know, we've been iterated on the same idea.\n\n**Joel:** Those standalone sites are kind of like mini eggheads, like a egghead course that we've taken and put on a domain and given it more, but also tailored to the person. They want to do create it. So they have different aspects because you know, egghead is constrained. Um, we don't, we don't use like stack blitz containers or whatever in, in on egghead.\n\n**Joel:** It's just you're watching videos and that's really what that site is where, um, total typescript has, you know, like it's a problem. Exercise solution and you can actually work in the browser and then can't in the latest epic react and epic web takes it even a step further where it's like, Hey, stop. This isn't a browser based course, you know, clone the repo open your ID.\n\n**Joel:** And we're working in like a real environment, which I like. I love what he's he's done. We've been able to, you know, like make the platform flexible to their needs and how they want to teach, which is really important because it's really important to us that one, you know, like we go a little, we like to be a little extra with the design and like push the boundaries of like the presentation, but then also allow that and we do that.\n\n**Joel:** So they feel like this is. This is my course. This is my platform. It's not ours. We're very low key. Um, if you go to any of these sites, um, you're gonna have to dig around pretty deep to even discover that I had anything to do with it. Um, I prefer that and they need to feel, and it needs to be their product, right?\n\n**Joel:** Like Kent's product needs to be his, and it needs to present his vision and what he wants to do. Otherwise he'd just get bored or whatever, or move on and, to keep, keep going and keep doing that for. A long time, like content creation is a real thing. It's a grind. you know, y'all make a podcast, even doing this on a regular basis is, is, is a grind and keeping it up.\n\n**Joel:** It takes a while. And sometimes you don't feel as energetic and enthusiastic as you did. Uh, and then how do you get that back? How do you keep that going over the years is, is always a struggle. So a lot of that has, like, I feel like having that, you know, like the aesthetics and having it, you know, like you're, you guiding the thing and not being like, no, it's an egghead course.\n\n**Joel:** You're going to make it like this. Yeah. Um, is important to, you know, like help people move past that and then also like, like kind of keep our business going and, um, keep kind of evolving to the needs of our customers, which frankly are the instructors more so than the, you know, like the end end users, we have to keep the end users happy.\n\n**Joel:** For the instructors, but our customers are the, the instructors that we work with.\n\n**Andrew:** yeah. The design of all of these courses is always just like mind blowing. You visit one of these pages and it's like candy and you just want to consume it. Uh, on your website on badass dev, you walk through like the process that you have around creating these courses. Could you walk us through that a little bit?\n\n**Joel:** Sure. so it is the process with a little trademark symbol. If not, I actually use the blue spiral emoji, uh, in place of a trademark symbol. And, and I don't think it's super novel. I've seen actually like a lot of variations of this idea of a four step process where we start with, uh, research.\n\n**Joel:** I mean, always, right. We're gonna sit down and try to figure out what we're building. Um, we do design and design in this sense doesn't necessarily mean visual design though, that can be part of it, but you know, like design of the system and design of like what, what it is the research told us that we want to build and, uh, kind of do it from system design and all the other things that you can think of that, uh, that word might mean into the production phase where we're actually going to sit down and we're going to make the thing.\n\n**Joel:** That we're, we're talking about. Uh, and then finally delivery, whatever that means. And I say, you can break it down into like, you can do this process and the outcome can be a tweet, um, or a post or a Z or whatever it is where we're having these days and that that's not, you know, a huge artifact, but. You now take that, that piece that you've built, that, that thing that you've delivered, and it feeds back into the research phase of the next iteration.\n\n**Joel:** And then you kind of expand on that. And, um, for us, that might mean, uh, you know, that, that simple post becomes a blog article. That article becomes, you know, uh, a screencast video, that screencast video becomes a workshop. That workshop becomes a self paced course, and you are in this kind Spiral of increasing resolution.\n\n**Joel:** And that's a, definitely an idea from Kathy Sierra's badass where the, you know, like you were spiraling, spiraling around the same idea in ever increasing higher resolution to where you have, you know, like a seedling up to, you know, the, the forest that you can, can grow of an idea. If you, you stick with it and go over, if you, you stop early, your resolution is, is going to be what it is, but you can always kind of keep going on the same idea and that.\n\n**Joel:** That, uh, that concept or that philosophy is what's driven a lot of what we do. That idea of the spiral and sticking with an idea and seeing how far you can take it over time is, is pretty interesting. Um, and it's actually amazing, uh, to like have that kind of, just kind of broad context over time when you're building a thing versus, you know, here's an idea, try it, throw it away, like the, I'm going to build 30 companies in 30 days.\n\n**Joel:** Like. can learn something and that's fine. But like most of the time, it's just like, you're not spending enough time with the thing to, you know, like really get to know it. And it's kind of just trying to throw spaghetti against the wall and see if anything sticks or, or just some sort of need to, to keep doing that.\n\n**Joel:** Um, hasn't ever been like my approach. I'm, like I said, I'm a little bit obsessive and I have an idea and I'm just trying to, trying to see, see where I can take it for as long as I can.\n\n**Justin:** Yeah. When you, when you started off and you're talking about like thinking about this sort of like teaching problem over a long period and how it'd been sort of an obsession for you, it made, I just like in the back of my mind, just thinking about like craft and mastery and like what that means and the software world or the product world or like, you know, any builder world, it's like, I'll fall into YouTube videos about Japanese joinery where it's like, you know, Craftsman in Japan, just working on making furniture and doing it for years and years and years and years and just like doing the same basic techniques, but making them so, so, so good.\n\n#### [00:27:57] The Philosophy of Digital Gardening\n\n**Justin:** Uh, and there is something about this, like, idea, uh, we, it's being more popularized and like writing. So you have a digital garden as a site and like, a lot of people are like, starting to think of that idea now. It's like, Oh, we don't have to just like. Do everything all at once. And that's the only thing, you know, we can like kind of work on this and evolve it over time.\n\n**Justin:** So I like, I like this philosophy of the process. And I think there's, there's a lot of like wisdom here just to give the things the time that they need to develop. I think it's a important and underutilized skill.\n\n**Joel:** Like, for me, with the digital gardening idea, like, one of the takeaways was, if you write something or you make something, you can come back and, you know, just spruce it up, you can come back in there and you can, like, tear it up a little bit and then rebuild it, like, I've, my, my digital gardening article, I've been other You know, I, I come into it every few months and just go in there and be like, Oh, this, this has changed or this is different.\n\n**Joel:** And I don't have to be, you know, it isn't like I've pushed publish and now I can't touch that. It is not immutable. I can, I can make changes over time. And like, one of the things that makes me frankly, super sad is when, you know, like we'll work on a project and we'll release something that's good. And the creator will just move on and basically never even talk about it again.\n\n**Joel:** Like they do the launch and they do the release and then it just kind of floats off into oblivion. And you know, like, like loses steam where if you, we had a stuck with the idea, we could have, you know, continued and iterated on this and made it into something more and helped more people and, and got the, got, you know, like more ideas out there.\n\n**Joel:** And, and, you know, it's like, I hate to see it kind of situation when, when that happens, sometimes I'm happy to see them float down the river, frankly, but that's part of the process, right? Like you have something where it's like some blog articles I don't revisit because they were. Not great ideas. I don't mind if they exist.\n\n**Joel:** Sometimes I'll just delete them. If they're, you know, like, if it's like, oh, I just, that, that wasn't it. You know, you can, you can have it go away and that's fine too. Pull the plants out and plant something new and different. Yeah, and that, that's been, that's actually been a very meaningful approach to me is just this idea that we can You know, it's not a sort by new.\n\n**Joel:** Everything doesn't have to be new. Uh, that's really challenging. If you're running a subscription service is something that I've learned. Uh, people aren't as interested in your delightful back catalog and want constant new stuff, um, which is just kind of the nature of it. And the nature of the internet is.\n\n**Andrew:** Absolutely. And like a sort by new kind of situation.Definitely. Um\n\n#### [00:30:24] Introducing Course Builder\n\n**Andrew:** , so let's move on to what I've seen you working on, on all the various social networks lately. Uh, it's a thing called Course Builder. There's a repo on GitHub. Not much information around it. It looks like a framework to kind of build courses with, but could you fill us in on the details there?\n\n**Joel:** yeah, so that's, uh, my egghead version 12 or something, maybe. Um, we had it. So from egghead, we did, uh, skill recordings, that's the GitHub repo products, which, um, is currently. Epic React, Total TypeScript, testing JavaScript and testing accessibility. And then everything we learned from that is kind of pulled into CourseBuilder.\n\n**Joel:** And there's this product that I, I love, um, called Ingest and it solves this idea of, uh, durable workflows, like event driven workflows in, uh, serverless environments where I'd like, just, just pounded my face against the wall for you. I have a Kubernetes cluster in my office, um, trying to solve this problem.\n\n**Joel:** And I was trying to, to deploy temporal on, that's why I have K8s in the office. And it was just really hard and I couldn't do it. And I'm relatively smart and good at this. And I just like, was frustrated and couldn't do it. And I found ingest and it was like a, uh, revelatory in its simplicity and ease of use and just like raw power and is absolutely like more than, You know, it's like up there with like react for me in terms of, of just like raw power of potential of what I could build now that I had this in my tool set, um, so much so that I actually took a job there for a few months last year, uh, and that's where course builder came.\n\n**Joel:** I was, I was like, Oh, I have these ideas. And I'm, you know, like, I want to come combine, ingest and make this like video workflows and these path platform, you know, these patterns, and I'm going to do that as the demo. And then I can teach people and write articles about it. And I got into it and I was like, yeah, this is literally all I want to do.\n\n**Joel:** And I really don't think that's fair to y'all. Cause y'all need me to do other things. Cause they're a very small company and they're very early stage. And I'm like, I want nothing but for them, but for them to succeed. And I'm like, I don't think I'm right for this job. I'm going to like, I need to just go build this thing.\n\n**Joel:** Um, so I, I quit working there and still have a great relationship with them. They're awesome. Um, and still using the tool and course builders kind of built around. That idea and removing friction from the course, like from the content production pipeline, particularly video, because people default to YouTube because it's relatively easy, um, to, to get in there.\n\n**Joel:** They, I mean, obviously they have a, there's a lot of going on when you log into YouTube, but, um, so how can I make it even easier than that? How can I make it more appealing for the people that we work with to like post on their own platform instead of, you know, some. Ad walled other person's garden. And, and you're like, YouTube is fantastic.\n\n**Joel:** It's like a, um, I think it's a treasure that it exists for humanity, frankly. Uh, but like, I'm like, well, we're also trying to build businesses and sell things. And, and, you know, there's some, I think there's a lot of value in building your own platform and having, you know, your own space where you can post too.\n\n**Joel:** And so it's a little over a year, year and a half, I've been working on that. And now it's like. It's actually great. And we're using it as a CMS for our other projects too. Like egghead is now being driven by course builder. And this was funny cause I don't know if it's obvious to people. Um, but you can just connect to a database.\n\n**Joel:** You don't have to migrate your entire site. Like we don't have to migrate egghead to course builder. We just put it on a sub domain and then literally egghead has a Postgres database. And so instead of migrating the whole site, we just, or using even a rails API. We just connect to the database and do stuff.\n\n**Joel:** Um, I don't know, anybody that needs to hear that, like, you can. You can just connect to the database and do stuff. Like, you can write SQL. And mostly it's fine. Um, it's, you know, like, it adds some complexity to the situation. And I don't know why it took me that. I always, like, literally, I'd be like, Oh, man, I gotta write a Rails API.\n\n**Joel:** That sucks. I don't wanna even mess with that app. Um, I don't wanna deploy it. I don't wanna have to, like, rethink in Ruby. I'm a retired Ruby developer. I'm gonna keep it that way. Yeah, just connect to the database. It's fine.\n\n**Andrew:** So in Badass Courses, what were you using Ingest for? Like, where did it, yeah, where'd it go?\n\n**Joel:** Oh, we're using it for, um, like, email automation. So, like, post purchase email automation. A lot of webhook handling. So, if you think about a scenario, like, you get a Stripe webhook, and then what happens, you know, you end up with the, like, the webhook handler that's like a, Just a, a monster and instead of like gets it, we record the event as incoming.\n\n**Joel:** And then we fan it out with ingest and all the different things post purchase happen. Uh, our video processing pipeline is, is fully, uh, controlled by ingest. Like it's like, um, you upload a video and then a bunch of things need to happen from transcripts to, you know, Also, please put transcripts on your videos if you are making courses, and there's nothing that makes me more angry is when I see people bragging about how much courses they're selling and they have video and they don't have transcripts or captions for their videos.\n\n**Joel:** It's so just table stakes at this point, DeepGram is cheap, you don't even have to pay humans to do it anymore. anyway, so all of that stuff is, automated for us by Ingest. I use it literally if I'm sitting down to write a script because it does this replay thing. And another thing is like you get a Stripe webhook and you're trying to send Slack messages or you're trying to send emails.\n\n**Joel:** 42. And you're entering, you know, like you have to enter the details and like make the full cycle of the purchase. Within Jest, it comes in, that event happens. And then because we've divided it all up into nice little serverless event driven functions, you can pick any part of that and just rerun, like rerun that one thing and then like tweak the Slack message, right?\n\n**Joel:** Like, cause that's, you know, if you've ever tried to build Slack, Integrations, it can be, it can be kind of frustrating, uh, depending on your loop. Uh, and so that, you know, allows us to do that or we're formatting HTML emails. Another thing that's like a real hassle with this, you can just, just push replay and make your changes, push replay, change some data, whatever.\n\n**Joel:** That's really nice. Uh, their development server is, is like, I don't know. I, it's like the coolest thing I've ever actually. Maybe interacted with in terms of like a product tool is their development server. I don't, I don't know, there probably are, I think I've, I've heard, I haven't seen any, I haven't interacted with any of them.\n\n**Joel:** They just put a lot of time and effort into their development server in particular, and it just makes my life way, way easier. And I keep thinking of new ways that I can use it or, you know, like ways I can migrate stuff that we've done in the past, um, to use it.\n\n**Justin:** was trying to look up when we had them on. That was episode 101. Yeah.\n\n**Joel:** Did you talk to Tony and Dan?\n\n**Justin:** we had Dan and Tony on. Yeah, it was a great episode.\n\n**Joel:** They're amazing. And I like wake up a lot of mornings and wish that I was still able to like be involved at that level with them. Cause it's like the, they built an amazing team and both of them are just like fantastic human beings. I think, um, so there's a lot of, um, there's a lot of sociopaths that are CEOs.\n\n**Joel:** And, um, It is just wild, like how not that Tony is in particular, like, it's just like Dan is, you know, like he, he's a friend, but like just Tony and his conscientiousness and desire to build something good, uh, that, that can help people is just, just blew my mind, frankly, like I've, uh, never directly experienced that in such a way.\n\n**Joel:** So it's, it's cool to like, you know, Have a product that I love, um, that is led by, by people that I can respect and admire in that way. There's a lot of products that I love that they don't have that and, you know, I'll still use the product, but it's like, you know, it's like, I would love to see more of that in the world.\n\n**Joel:** Yeah, I had a similar experience with trying to set up temporal. It was just like, I felt very stupid not being able to get any of that to run and just like the night and day difference between ingest is is stark.\n\n**Joel:** like the folks at Render, the, uh, It's render. com. Uh, they, they helped me and we're like, Oh, we'll fix this. And we just need to make this AP. Cause I was like, well, the next app and it's running on Vercel and I just want to run the workflow and they're like, Ooh, so they made like a, well, you're going to need an API layer and that's going to need to consume GRPC.\n\n**Joel:** Uh, and then once you're consuming GRPC, we can, you know, like we could translate that and then we can push that to this other API layer and then you should be able to do it. And I was like. Like I, I mean, I don't know, that just doesn't sound good. Like there's none of that that I'm gonna be able to think about or maintain, and I'm not gonna learn to write, go and, you know, it's like this, this whole, you know, like I would love to, if I had the time, I would, I would absolutely sit down and learn how to write, go and zig and rest and you know, like all the other fun, cool languages that are out there.\n\n**Joel:** I just don't, I have to, that is one thing I've learned is you have to focus a little bit if you want to keep, keep making progress. So\n\n**Justin:** Kind of have to focus a lot.\n\n**Joel:** Yeah. Yeah, you do.\n\n#### [00:39:04] Challenges in Developer Education\n\n**Justin:** What is, I mean, what is your take on like education and the world of like distraction? So specifically. I'm just really, uh, this is a little bit early to be transitioning this topic. Uh, we usually end the episodes talking about something future facing, but I'm sort of inspired.\n\n**Justin:** I've been thinking a lot with great angst about learners coming into the environment, especially specifically in the software world, the job market for juniors is not great. Um, it is hard to break into this market. The education space has changed significantly with generative AI. People being able to produce things without understanding them, which has always been a thing in some degree or another, right?\n\n**Justin:** We've always had tools that giving us more capabilities, but it does feel like things are changing. The Delta is a little bit greater now. And I'm curious how you're thinking about like education at this moment in time, course building or like grabbing people's attention in a different way or like what, what it takes to sort of like successfully educate people in a sort of like. New world.\n\n**Joel:** So with Egghead, um, when I made it. I found a tutorial that was build a rails app that accepts Stripe payments for subscriptions. And I followed that tutorial and I built Egghead in a little under two weeks, uh, and deployed it and started taking people's money. I didn't understand how it worked. Um, I knew it did work and you know, I don't, I don't, it didn't have any tests at the time, I do a lot better at that now, like the commerce side of it's tested.\n\n**Joel:** And I have a better understanding of it now. And I look at that and I, they're literally. Things and decisions that I made in those first two weeks, blindly following a tutorial and then naively expanding on that tutorial that I have to live with and suffer with on a daily basis. Um, and that's a thing.\n\n**Joel:** And I, you know, it's like, I call it the Roomba problem. Um, because like I use cursor, like I, I love these tools. Like I, I am fascinated by them. And you know, like I, like my deep love of technology is fully just embracing from day one. Um, I love generative art and that sort of thing. Like it's like all around me in my office, actually.\n\n**Joel:** Uh, like I've, I've been fascinated with that for, for a long, long time. Um, so like, I, I love these tools, but you get the, you know, like with, with cursor in particular, and I've used it to build all sorts of things and I've sat down and built whole projects where I'm like, I'm just going to prompt this whole thing and literally do it by voice.\n\n**Joel:** So I get super whisper and I just sit here and. I'm just talk to it and, you know, like command I to get the composer up and then tell it what we're going to build and reject, accept, reject, accept. And these things will just get into the corner and just be like, just like a room bug, just, you know, like you have, you can't, we have a robot vacuum too.\n\n**Joel:** And you, you don't just, it just doesn't clean your house. Like, you know, it's always going to have a cord stuck in its little mouth or get a shoelace or, you know, like get stuck in a little spot and be like, hell it's an incline. I can't get out of this. And you get the same thing with these tools and they, they keep improving.\n\n**Joel:** I don't know. Who can predict what point where it'll be like, Hey, I need this app. And it's just, and you have it and it's flawless and you don't have to worry about it and just kind of walk away and do that thing. I think that's actually great. Like that idea of the democratization and allowing more people access to these tools and make it easier to build software and being able to be like, Hey, I have this spreadsheet, but I'd really like it to be this, or, you know, like my, my kid's soccer team, you know, needs this app.\n\n**Joel:** And I've done that for, you know, Like a little leagues we've been in in the past and that, that was cool, but it'd be even better if people could just like pop it up and we've had, you know, no code tools have existed for these kinds of things, but like when there's a ceiling, especially if you're talking about something like the scope and scale of a thing, like of, of true complexity, that, that just gets really hard.\n\n**Joel:** And I don't know that. Our approach, like to go back and kind of answer the question is like, we embrace these tools. They exist. So we include them in what we're talking about, right? Like you can go to a kid now and there's cursor lessons and, uh, like windsurfer versus cursor. And, you know, like we're, we're evaluating the tools and talking about it.\n\n**Joel:** Like what's, what's good. And what should developers be thinking about? You absolutely should be thinking about these tools if you're writing software. If you're not, then, um, you know, it's like, The Japanese craftsmen making those fine dovetails with their mechanical tools. That's cool. But also, you know, like, I don't know what the world will have for that sort of bespoke level craftsmanship and software in particular, uh, in the future, you know, so, yeah, Like where, where it's, it's a automated job.\n\n**Joel:** And, um, the people that are building these tools and the money that's going into these tools absolutely want to like remove more software, like high paying software jobs from the equation. Like that has to be, you know, that's, that's a big motivation. Cause developers are super expensive because it's hard and takes a long time to get in there.\n\n**Joel:** I don't think the market for juniors has ever been good. Has it\n\n**Andrew:** I'm not sure.\n\n**Joel:** people say that and they're like, Oh, now the market for junior developers is like, I don't think it's ever been good because it's such a hard job. And like the, the, the tipping point from, I want to learn how to code to like, I have a productive software developer is like, that's a, it's a big valley to leap.\n\n**Joel:** Um, I don't, I don't, I can't, I'm was trying to think if I've ever, ever been like, wow, this is This is really the heyday for junior developers. I don't, maybe there was one that I'm not aware of. I'd be interested to hear more, I guess. I don't,personally think that has happened.\n\n**Andrew:** Yeah, I think it is harder today than when I started like when I got out of college it like it was like kind of almost the gold rush of like there's just jobs everywhere. My sister in law right now like graduated a year ago, hasn't had like any luck. My sister. She hasn't had too much luck either she kind of had to like juice some connections to get like a sort of tech job, but yeah it's been hard, hard for them for sure.\n\n**Joel:** And it might be more of a, like a, a saturation thing too. Because when you're talking about these, you know, like high paying jobs, where you have to work at home and, you know, make, make just bonkers money, right? Like for, for what it is. and then, you know, like you get the, the top of the funnel becomes very, very heavy and saturated.\n\n**Joel:** And another problem that I think that people are going to have is related to the generative tools, but it's a little bit different. And Kent actually wrote a really great article. AI is coming for your job, but it's not what you think is because Like hiring is really, really difficult now because it's like this, this just deluge of, of generated resumes and cover letters and, and just like applicants that are putting in three, four or 5, 000 applications a day, like literally scouring the internet, scraping and just like, just peppering everything.\n\n**Joel:** And how do you. Like, how do you even deal with that on the other side? It's like our inboxes are already, you know, like it's already a nightmare. Um, and now you have have that, and that's affecting everybody's inbox. We're all getting the generated content pushed. Um, but you know, from a, from a hiring perspective, it's a, a not great situation for anybody that's like trying to go traditionally.\n\n**Joel:** Um, his idea and, and, you know, not really a solution, but just a, a way to kind of mitigate some of that is, is like in-person events at the end of the day. You know, it's like conferences and I went to, uh, Danny Thompson's commit your code last week, which is, is had that kind of, uh, early career vibes.\n\n**Joel:** Danny's really big in that space and really gives amazing advice to people trying to break in. you know, it's like at that event, I just saw it in action, right? Like you're able to, to meet people that are earlier and he's like, make yourself human in this sea of, of non humanity, like being, you know, You know, a person that people can relate to is is a huge lever to it's it's hard.\n\n**Joel:** No, I'm pretty. I mean, I'm really happy. I don't have to, to, to try to do that again. It was actually pretty fairly easy for me. It wasn't easy. It was hard, but it was, it sounds like it was, was easier than that. Like, I didn't have to, I jumped through a bunch of hoops and got lucky when I did this 15 years ago.\n\n**Joel:** So, like, what worked for me, like, I don't give a lot of career advice because what worked for me is absolutely not the same as what's going to work for somebody today. Right.\n\n**Andrew:** I very much feel that I, when I was early in my career and in that kind of like golden era, I gave out lots of advice of like, this is a great field to go into the jobs are cushy. And then like, just from there, it just kept going down and down and it was much harder to recommend, uh, any career advice to anybody.\n\n**Andrew:** I'll give it if somebody asks, but I will not not put it on someone.\n\n**Joel:** Yeah, I'm not, you know, I'm not get your first job in tech. It's definitely not something I want to write.\n\n**Andrew:** No.\n\n**Joel:** think what you said is actually still true though. I think it is a, it's a great job. It's wonderful. And if you, you love puzzles and, and, you know, actually love the technology, I think that there's a lot of room. I think there's a lot of different reasons that people could get in this and still be successful.\n\n**Joel:** and you know, I just, I'm just excited to be able to keep doing what I'm doing. Like that's, that's my entire goal is to keep on trucking and keep kind of spiraling around this, this problem for, for as long as I can actually.\n\n**Justin:** yeah, absolutely.\n\n#### [00:47:56] The Future of Developer Education\n\n**Joel:** So as we wrap up, we always like to ask a future fishing question. I asked one, but like, I just want to ask you what you think the future of developer education looks like. So when I, yeah, I see, uh, like Andre's car posse. You know, who's like the, the father of open AIs, LLM, chat, GPT, like he's building his new thing is an education startup and. It's going to be really interesting to see what that looks like and what they do. And I see, I've seen, uh, uh, Amelia Wattenberg is working on a, uh, a project that's, you know, like generate a lesson for any sort of tech you can think of.\n\n**Joel:** And it'll be like an interactive exercises. And I'm really curious to see how that helps or hinders folks that are trying to learn. I don't know. I don't know if it will, you know, I have no idea from like a predictive. Standpoint what the end result will, will that be great or will it be a dead end? I'm, I'm really interested in that.\n\n**Joel:** I think at the end of the day, there's always going to be that kind of demand for that. You know, like something that's more, more direct and more boutique and more humanized than the generative stuff can bring us. So, um, I don't think, you know, I don't think colleges are going anywhere. I don't think, you know, like, in person workshops and learning directly from somebody with, with a lot of deep experience and context is going anywhere and definitely think we have at least a few more years before the, the robots take, take all the teacher jobs.\n\n**Joel:** Um, I, I think that would be, I think that would be bleak, um, to be honest, is, is the word I might describe that with. Um, so I don't know. I'm not much of predicting the future in general. I'm kind of like a, A role with the punches kind of person in my lifestyle choices. So it's going to be interesting times that I have no doubt it always is.\n\n**Joel:** And, you know, there's a lot of cool stuff coming and, you know, like the, I think the curious will, will, uh, keep being able to like keep themselves interested, um, for, for some time. Hope so. Anyway.\n\n**Andrew:** Cool. Well, that wraps it up for our questions this week. Thanks for coming on, Joel. Uh, you've done a lot of work in the education space and it's all so refined. So thank you for doing it and thanks for coming on.\n\n**Joel:** Yeah. Thanks for having me. It's been a lot of fun. Love chatting with you guys.\n\n**Justin:** yeah, we're big fans of your work. Uh, content creation is hard and we have massive respect for all the work that you've done. And like the quality and the polish and frankly, the like philosophy around how to approach problems like this. I think. We just don't see enough, like, real refined philosophy on like tackling what are hard problems, uh, like, you know, building a productive, uh, education course.\n\n**Justin:** So yeah, thanks for all the work and thanks for coming on.\n\n**Joel:** Thanks y'all."
}
},
"description": "Joel Hooks from Egghead discusses years of developer education, course creation philosophy, and his new Course Builder platform.",
"path": "/episode/126",
"publishedAt": "2025-01-05T00:00:00.000Z",
"site": "at://did:plc:tnliqml7jfchh6dltyi2senj/site.standard.publication/3mnv7bnfeyg2h",
"tags": "technology, coding, programming, education, egghead, badass, courses, developer, education, future, software",
"textContent": "{/ TAB: SHOW NOTES /}\n\nThis week we're talking to Joel Hooks, a founder of Egghead.\nFor years Joel has been building courses and helping developers learn to code.\nHe's been the invisible hand behind many of the high quality courses that have been created over the years.\nOn this episode we talk to him about his journey through developer education and where he thinks the future lies.\n\n- https://egghead.io/\n- https://joelhooks.com/\n- https://badass.dev/\n\nApply to sponsor the podcast: https://devtools.fm/sponsor\n\nBecome a paid subscriber our patreon, spotify, or apple podcasts for the ad-free episode.\n\n- https://www.patreon.com/devtoolsfm\n- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe\n- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758\n- https://www.youtube.com/@devtoolsfm/membership\n\n{/ LINKS /}\n\n{/ Paste show notes /}\n\n{/ TAB: SECTIONS /}\n\n[00:00:00] Introduction\n[00:02:10] The Evolution of Course Creation\n[00:07:36] Building Egghead: From Idea to Success\n[00:14:56] Ad\n[00:15:15] The Badass Courses Manifesto\n[00:18:33] Crafting High-Quality Courses\n[00:27:57] The Philosophy of Digital Gardening\n[00:30:24] Introducing Course Builder\n[00:39:04] Challenges in Developer Education\n[00:47:56] The Future of Developer Education\n\n{/ TAB: TRANSCRIPT /}\n\n[00:00:00] Introduction\n\nJoel: being able to record your screen and teach people's stuff is, um, Frankly, just, you know, like, like firing off a video to a co worker that unlocks something, especially when we're in this kind of age of remote work, um, it's, uh, it's like a superpower,\n\nAndrew: Hello, welcome to DevTools. FM. This is a podcast about developer tools and the people who make them. I'm Andrew. And this is my cohost, Justin.\n\nJustin: Hey, everyone. Uh, we're really excited to have Joel Hooks joining us. so Joel, you are one of the early founders of Egghead, uh, and that's been a pretty inspirational, site in our community, a great source of education for anything technical. we're excited to talk a lot more about that, but before we dive in and talk about that and some of the other stuff you're working on, uh, would you like mind telling our audience a little bit more about yourself?\n\nJoel: I personally identify as a software developer and that's what I enjoy doing. Um, almost more than, anything I love, building and making things and, uh, and, maybe a chronic sort of way. Uh, but as it happens, I have spent over a decade building basically the same project over and over again, and kind of refining an idea.\n\nJoel: And that's something I really love too. And it's a space where not only do I feel good about what we build, but it gives me a lot of opportunity to improve and use something new and cycle through. You know, the good ideas that are in the space and feed it back into the education piece, because like part of my job is staying abreast of what's, you know, interesting and basically what's good, uh, in terms of, uh, what's available for developers at any given point in time.\n\nJoel: Um, and then I'm also super enthusiastic about it. Like I really love technology and I really love like the bleeding edge and what's coming, right now. Versus, you know, like what, what I've already done, um, which, you know, good and bad, sometimes I have like a trail of bad ideas that I've left in my wake.\n\nJoel: which can be, you know, expensive and frustrating sometimes. And then also you accomplish some stuff and have those eureka moments where we get to kind of break through and, you know, go, go beyond the tools and build something that's bigger than the sum of its parts, I guess,\n\n[00:02:10] The Evolution of Course Creation\n\nAndrew: That, that theme we see a lot here on the podcast where a, uh, a developer gets just kind of obsessed with a problem and rebuilds it over and over again, eventually iterating to like, That today's golden state, but let's roll it back a little bit, uh, to before you started egghead or started working on it.\n\nAndrew: Uh, what was the course education creation space like before egghead? Like, was it hard to release courses?\n\nJoel: I mean, it's, it. I think releasing a good course has always been hard and you can take Back as far as you want, um, not to speak for the ancient Greeks, but I would suspect that they, you know, had some struggles when they were coming up with a new curriculum or whatever. Um, and then, you know, like, like. When we started doing this, I I've been doing this for a long time. So when I first started doing this was 30 ish years ago with like macromedia authorware and building, um, instructional content. And I was a graphic designer at the time. I wasn't doing the programming side of it, but we were doing like air aircraft maintenance production.\n\nJoel: And we, it would just, you know, there'd be a lot that would go into that. And there's. As technology has improved. So has the, you know, the, the tools around what it takes to put together some sort of string of courses. And obviously that when we were doing that, that was kind of, it wasn't pre internet, but it was basically pre internet, um, like 1998 or so.\n\nJoel: And that sort of thing is, um, you know, that, that was meant to be like delivered on a CD ROM, um, like, like Macromedia, Dreamweaver, and those different things that we had back then, where you would deliver instructional content on the CD ROM, um, And now, you know, obviously we're doing it on the internet and that introduces new, new problems.\n\nJoel: Uh, and I think about at the time when we were building egghead, there wasn't, there wasn't a lot of optionality, um, YouTube at the time, I think they were coming up with some, you know, it was still. Relatively young, they were coming up with ways to monetize it before you could even make any money on YouTube.\n\nJoel: Like now it's totally different because people can make a living on YouTube and that's great. I'm still pretty disappointed in like how, like what it takes to put a course online. And like what we've built is a pretty complex apparatus and the kind of self serve non technical. You know, like, like people that don't have the ability to build their own entire platform are kind of left with pretty, pretty mediocre options, in my opinion, but they're better than they were for sure.\n\nJoel: 10 years ago,\n\nJustin: Yeah. I think like what you're teaching matters a lot. So like in a technical world where you have like code that needs to run or execute or be previewed or something, you know, there are a lot of people just like do videos, uh, some people just do like static web pages and you get like the more interactive components.\n\nJustin: What do you think are like the parts that make a good, successful, like technical course, especially like in the early days and sort of like how you think about it now?\n\nJoel: we were just having this conversation recently where. I think, like, the production value is, is something that people put a lot of thought into. Um, I have like an elaborate. Lights and camera and you know, uh, I'd say a thoughtful background. It's actually just my office, but the, the, you know, like there's a lot put into that and, and a lot of emphasis on that.\n\nJoel: And there's a lot, you know, like where people think about that, but at the end of the day, what people really want is good content that they can learn from. And I can take ideas from that they can apply in their, their actual life. And the production value almost ends up being more for the creator in a lot of ways, like just to like, you know, make us look and sound our best, right?\n\nJoel: Like we all want to do that and we want to present our best, but like from a learner perspective, there's like a threshold where none of that actually matters if the content is really good. And I'm often frustrated. By, you know, how a thing is presented, but I'll still like suffer through it to consume the information because if it's, you know, if it's the only way I can get that information, then, then I'll, I'll go ahead and live through that.\n\nJoel: And that's like, try not to, you know, be a hater on people that, that are presenting instructional content and in certain ways, but like, in my heart, I hate it that they are having to, that they have to do that, that they don't have an easy way that, that to present it in a way that's. That's nicer. And you know, like part of what we do is trying to, um, I like to work, I call it visible source because I don't actually like intend to support people that want to, like, try to use our stuff, but I like to keep it open so people can take those ideas and run with them and use that as reference.\n\nJoel: Cause I really like personally love to learn that way. I'm not much of a. Like sit down and watch a bunch of videos type of person. I'm kind of a hands on person. Um, so give me some source code and I'm gonna, gonna be in there and loving it. So that's one of the reasons we do. We work the way we do is so that people can have some opportunity there to, to kind of push it forward.\n\nJoel: And that's actually something we've seen with egghead is that, um, people have taken those ideas and we have a site, howtoegghead. com. And I see those ideas in the developer education space and even beyond a lot You know, we kind of, I say it's their, uh, short screencasts for developers that hate watching long, boring videos.\n\nJoel: And, you know, like that kind of ethos that like, Hey, we don't have to ramble on, we can keep it short, um, and, and present, you know, like get right to the heart of what we're talking about. I love seeing those ideas carried over outside of our space, um, by other instructors,\n\nAndrew: So, uh, egghead is like an enormous platform now. I just looked it up and you guys have almost 7000 different courses on there, which is just, uh, crazy to start out with. \n\n[00:07:36] Building Egghead: From Idea to Success\n\nAndrew: But what led you to egghead? And then how did you scale it to like this massive amount of videos and like instructors and people?\n\nJoel: so. John was making videos. John Linklist was making Angular videos. And at the time I thought they were great, right? He was making them and they're, they're on YouTube. and I was taking Amy Hoy's 30 by 500 course, which, uh, is still fantastic. And I recommend it to anybody that wants to build, build products and build a business and, and an ethical, sustainable sort of way, um, it's, it's still big influence on me, but John was making these videos and I was like trying to figure out what I wanted to do in terms of, um, some sort of product.\n\nJoel: Cause that was always my goal as a developer was to, I started doing this so that I could figure out some sort of product to build. Um, and I was like, ah, man, I think I can sell these videos. And John. was very skeptical at first and I was like, no, really, I can't just let me try. And we did and people, you know, gobbled them up and then almost immediately I was like, what if we added additional instructors to this and paid them, you know, royalties based on how much they were, that people watch the videos.\n\nJoel: So, uh, we tried that and people, you know, started subscribing, uh, just kind of one thing led to another and. As it turned out, like the bringing in instructors, that's really a difficult thing to do. Um, generally speaking, getting other people to do things is really difficult and it's also really difficult when all you're asking them to do is like work a second job or maybe more for a lot of people.\n\nJoel: And that's, you know, like, that's what we offer. It's like, oh, well, you, you know, you're really busy. You're really smart. Your work is very intellectually draining. But when you get home, wouldn't you like to sit down and do something that was incredibly hard and uncomfortable and, you know, record these videos?\n\nJoel: Cause it's not easy. Like if you have ever tried to do screencasting or recording, it's frustrating. You get actual stage fright when you're literally just sitting in your home talking into a microphone and it doesn't make any sense, but your body says otherwise. It's like, I, you know, my brain is.\n\nJoel: Rebelling against me. It's technically difficult. Um, you, you know, you're doing take after take and a two minute video can take you three hours when you first get started. So it's like, how do we get through that process? And we've had several hundred instructors at this point and, you know, like, we're, we're very good at that actually.\n\nJoel: Like, that's something that is a core competency of us as an organization is, is bringing people in that don't have. Much experience in trying to remove the friction from their, like experience in terms of, of becoming educators. And it's been fantastic. What the coolest side effect is seeing people that are relatively early in their careers start doing this and just watch the, like the hockey stick of growth in terms of their career, because.\n\nJoel: There's literally, there might be better ways. I don't know. One of the, one of the best ways that I've seen to elevate yourself as a developer and get kind of recognition and kind of skip the line, so to speak, is to get out there and educate and show people the way and people will see that. And you'll get a bunch of like low effort content out of it.\n\nJoel: And we're like, just absolutely, uh, I guess now we're even more deluged with low effort conference content. Now that people can be like, generate me an article. Um, But that isn't it, right? That isn't it. Like people recognize the effort and the actual, you know, communication and fundamentally like the, the struggle that goes into creating this thing and it's evident in the result.\n\nJoel: And that works really, really well. And there's not a lot of ways to shortcut it, but you can make it smoother and you can, you know, Like learn from the basic mistakes, uh, of, of, you know, like how to do this and how to do a quality without having to experiment and iterate over time, you can kind of jump to, like, Hey, let's start making high quality stuff.\n\nJoel: and you know, like if you go into any, if you go into YouTube, one of the, uh, it's kind of fun to go into like popular people, uh, content producers on YouTube and go all the way back to the beginning of their channel and see, you know, what they're doing. The evolution of production value and content quality and all that fun stuff, um, is, is really kind of interesting.\n\nJoel: And, you know, that's what we help people do a lot of times is skip past some of that.\n\nAndrew: Yeah, definitely is fun to go back and look at creators old stuff like Marques Brownlee as like a 14 year old kid reviewing technology.\n\nJustin: Yeah, for sure. And you can see that all over the place. And, and, you know, it's like, it's a practice thing for sure. And then, and eventually you get to where that two minute screencast takes 10 minutes instead of three hours. And it's like a, a practice skill and like anything, right? Like it's, it is difficult to do and you have to practice, but once you get good at it, now you have something that's really, truly a valuable skill, even beyond like education, like getting down and being able to record your screen and teach people's stuff is, um, Frankly, just, you know, like, like firing off a video to a co worker that unlocks something, especially when we're in this kind of age of remote work, um, it's, uh, it's like a superpower, Yeah, for sure. Speaking of journeys, uh, so when you and John had started Egghead, it was like, you'd left your job. You're like doing this. It's like, I'm going to try to turn this into a product. And it's been very successful. How was it like in those early days? It's like, so this is a completely bootstrapped company.\n\nJustin: That you sort of build. Is that true? Um, like what was that journey like? And how long was it until you like felt pretty comfortable? Like, okay, this is the thing I'm, I'm in my lane. I'm like doing the thing that I want to do.\n\nJoel: I don't know if I have reached the Like, like satiation and comfort in my life, uh, as far as that goes, but it was pretty quick actually. I was working as a consultant and, and kind of flipped over to doing training because it was AngularJS at the time. It was notoriously difficult to learn with, you know, transclusion and, all the rest of the, the new words that people had to learn, but it was also huge in enterprises.\n\nJoel: So I was doing a lot of on site training, um, to, to help that transition. And then our, you know, like initial growth was huge. we've since kind of. Not only plateaued, but tapered off on that, that side of the business. And that's been an interesting journey as well as like when you like kind of a parabola of revenue growth has, has been just a challenge to even think about, but that's also because of like splitting efforts and thinking about other, other problems as well.\n\nJoel: but yeah, it was, it was, you know, it, it, it was within six months where John and I were both able to. To kind of focus on egghead and pursue it full time and then, you know, like we, we grew staff and it was a rails app at the time. Um, still is in a lot of respects, mostly the accounting, but I didn't expect actually was that platform perspective.\n\nJoel: What we're actually building is accounting software. like a CMS also, but like the accounting. Backend is what it turned out being. And I have, I've had to learn more about that space than I frankly ever would have thought I would have wanted to, or, or definitely been interested in. It wasn't, you know, my sort of aspirational dream of mine to build accounting software.\n\nJoel: But that's what you have to do. Cause you know, like we handle the money and that's what, and that's one of the most difficult aspects of it is like handling, handling the commerce and handling customer support and doing all that stuff is another huge source of friction to anybody that wants to, you know, put it out there and, and, um, Yeah, make a little.\n\nJoel: Make a little money and then also, you know, like elevate your, your profile.\n\nAndrew: Cool. Let's move on a little bit from egghead. \n\n[00:14:56] Ad\n\nAndrew: We'd like to stop and thank our sponsor for this week, but we don't have one. So if you'd like to sponsor DevTools FM, head over to DevToolsFM slash sponsor to apply. And if you want to find another way to support the podcast, head over to shop. devtools. fm, where you can buy some merch and rep the podcast.\n\nAndrew: With that though, let's get back to the episode.\n\n[00:15:15] The Badass Courses Manifesto\n\nAndrew: Uh, you've been posting a lot about bad ass courses recently. you have a whole article on what makes bad ass content. so where did this like bad ass manifesto come from and how is it like materialized into bad ass courses?\n\nJoel: So that's bad ass. dev is that site. And so the actual company, um, that, that we use to produce these courses is, uh, Skill Recordings Incorporated. And I describe it as a, like a business mullet where we have skill recordings in the front and, and. The mullet fun bit, the party in the back is, is bad ass.\n\nJoel: And honestly, like I, I put that up as a place where for me to just blog, but the team liked it. And then people just started referring to it as bad ass courses. And it's 100 percent an homage to Kathy Sierra's work and her book, badass making users awesome, which I don't, I think everybody should read it in like a literal way.\n\nJoel: Not just in, in software. It's just a really fantastic book. Uh, and that's, That's what the idea is. It's like, how can that entire book is about taking difficult topics and making it to where folks can. Get past what she refers to as the valley of suck and into like the good parts where you're, you're actually, you know, doing the thing that you want to do.\n\nJoel: Right. And she uses things like photography and snowboarding, which is notoriously difficult. And people will go out there and day one, it's just, you know, like how many times can you land on your face and be like, ah, this is a really horrible activity. I don't like it. But if you can get through that, And you can go hit a mountain and snowboard down the mountain.\n\nJoel: That's like one of the greatest experiences and feelings you can ever have in your entire life. Um, but you have to, you have to get there and the same is true for, you know, programming computers and it isn't easier now. And we have all sorts of great tools and you know, like LLMs are awesome.\n\nJoel: And I use, I'm engrossed in these tools, but I don't feel like it makes the actual job much easier. And in a lot of ways that some, Sometimes makes it more complex and it's really, really difficult and people get in there and they, it is frustrating and you, you know, like, like you give up because it makes you feel like you're dumb a lot of times and it's not the case.\n\nJoel: It is just legit hard and there's a lot of vocabulary and there's a lot of things to learn and there's a lot of moving parts and there's a lot of pieces from, you know, getting here and typing in. your editor to like deploying something on a server that other people can interact with. And then just the kaleidoscope of complexity that comes along in there.\n\nJoel: So to me, like bad ass is not the content. Bad ass is where we're trying to help people get to, right? We, um, sometimes we're bad ass, but that's not the, you know, like that is not the intent. This is what we want to help other people achieve is from where they are now to being a bad ass. At doing what they want to do and achieving what they want to achieve.\n\nJoel: And to me, that's like, at the end of the day, what, uh, you know, like what a badass course would do is, you know, like take somebody from, you know, like, um, I'm confused and don't understand and I'm frustrated, but I know, you know, where I want to be and helping them get there and, you know, like a lot of the material, I mean, yeah, that's, I think we're, we're relatively successful in that goal, um, and keep getting better.\n\nJoel: So, yeah. Yeah, that's great.\n\nJustin: It's interesting. \n\n[00:18:33] Crafting High-Quality Courses\n\nJustin: Cause this is like a transition from like how egghead operated as a platform. That's like. Sort of, maybe not fully self service, but like you, you go to egghead and you consume a lot of content and you've sort of changed to like, it's almost as like production company that we will like produce this.\n\nJustin: Like, I don't want to say produce the content, but like wrap it up in a way where it's like a standalone, like very high quality thing known for its sort of like own, own brand. What was the, the sort of like phase from like. Thinking about content creation on a platform like egghead to thinking about like these more, I guess, bespoke high quality, highly like produced like courses, like what was the sort of path getting from one to the other?\n\nJoel: It was a, I was at react rally and talking to somebody and they wanted to make courses. And they were like, I don't want to make egghead money. I want to make Wes boss money. And I was like, I don't think you understand what Wes like actually does to do his thing. Right? Like that isn't like he just rolls it out there.\n\nJoel: And comparatively speaking, an egghead course is much smaller. And that's like our whole shtick is that we make these small things and it's just the, the scope of it. It makes it less friction. You know, I'm like, I mean, people do want to do that. And we have instructors that, uh, come out of egghead and do their own thing.\n\nJoel: We've, you know, like, uh, Josh Como was an egghead instructor and Tyler McGinnis was an egghead instructor and they come out and make really awesome stuff. Um, through, through that process. And they, they put in the work and, and, you know, instead of seeing people go and do their own thing and become direct competitors to what we build, like, how can we.\n\nJoel: Like help facilitate them. What does that mean? And, um, I called it West boss as a service, um, which West thought was funny and I still think is funny. And it was Kent C Dodds that first was like, I really want to make something and I want to do something, you know, kind of beyond that, and I had this idea.\n\nJoel: And we, we made testing JavaScript, which was kind of the first of egghead thing that we made. And, uh, so, and then we did Epic react, which was just a bonkers bestseller course that, you know, like, like. I wish I knew the magic formula that went into that. It was a confluence of factors that produced that particular course. You know, these are, these are bigger things and they're standalone. They're really the same thing. Like at the end of the day, they're very similar. Um, total typescript. Epic Web, Testing Accessibility, ProNextJS, um, just JavaScript. That one's actually different from Dan and Maggie. That one's more of a, it's more book like, but still, like, fundamentally, and even a lot of those.\n\nJoel: Used egghead as a back end for years. That was a grave technical error on my part to couple All of these things so tightly that I've spent a lot of money a lot of time and effort over the last few years Unwinding on that decision. It's much much better place now But yeah, it's when I say, you know, we've been iterated on the same idea.\n\nJoel: Those standalone sites are kind of like mini eggheads, like a egghead course that we've taken and put on a domain and given it more, but also tailored to the person. They want to do create it. So they have different aspects because you know, egghead is constrained. Um, we don't, we don't use like stack blitz containers or whatever in, in on egghead.\n\nJoel: It's just you're watching videos and that's really what that site is where, um, total typescript has, you know, like it's a problem. Exercise solution and you can actually work in the browser and then can't in the latest epic react and epic web takes it even a step further where it's like, Hey, stop. This isn't a browser based course, you know, clone the repo open your ID.\n\nJoel: And we're working in like a real environment, which I like. I love what he's he's done. We've been able to, you know, like make the platform flexible to their needs and how they want to teach, which is really important because it's really important to us that one, you know, like we go a little, we like to be a little extra with the design and like push the boundaries of like the presentation, but then also allow that and we do that.\n\nJoel: So they feel like this is. This is my course. This is my platform. It's not ours. We're very low key. Um, if you go to any of these sites, um, you're gonna have to dig around pretty deep to even discover that I had anything to do with it. Um, I prefer that and they need to feel, and it needs to be their product, right?\n\nJoel: Like Kent's product needs to be his, and it needs to present his vision and what he wants to do. Otherwise he'd just get bored or whatever, or move on and, to keep, keep going and keep doing that for. A long time, like content creation is a real thing. It's a grind. you know, y'all make a podcast, even doing this on a regular basis is, is, is a grind and keeping it up.\n\nJoel: It takes a while. And sometimes you don't feel as energetic and enthusiastic as you did. Uh, and then how do you get that back? How do you keep that going over the years is, is always a struggle. So a lot of that has, like, I feel like having that, you know, like the aesthetics and having it, you know, like you're, you guiding the thing and not being like, no, it's an egghead course.\n\nJoel: You're going to make it like this. Yeah. Um, is important to, you know, like help people move past that and then also like, like kind of keep our business going and, um, keep kind of evolving to the needs of our customers, which frankly are the instructors more so than the, you know, like the end end users, we have to keep the end users happy.\n\nJoel: For the instructors, but our customers are the, the instructors that we work with.\n\nAndrew: yeah. The design of all of these courses is always just like mind blowing. You visit one of these pages and it's like candy and you just want to consume it. Uh, on your website on badass dev, you walk through like the process that you have around creating these courses. Could you walk us through that a little bit?\n\nJoel: Sure. so it is the process with a little trademark symbol. If not, I actually use the blue spiral emoji, uh, in place of a trademark symbol. And, and I don't think it's super novel. I've seen actually like a lot of variations of this idea of a four step process where we start with, uh, research.\n\nJoel: I mean, always, right. We're gonna sit down and try to figure out what we're building. Um, we do design and design in this sense doesn't necessarily mean visual design though, that can be part of it, but you know, like design of the system and design of like what, what it is the research told us that we want to build and, uh, kind of do it from system design and all the other things that you can think of that, uh, that word might mean into the production phase where we're actually going to sit down and we're going to make the thing.\n\nJoel: That we're, we're talking about. Uh, and then finally delivery, whatever that means. And I say, you can break it down into like, you can do this process and the outcome can be a tweet, um, or a post or a Z or whatever it is where we're having these days and that that's not, you know, a huge artifact, but. You now take that, that piece that you've built, that, that thing that you've delivered, and it feeds back into the research phase of the next iteration.\n\nJoel: And then you kind of expand on that. And, um, for us, that might mean, uh, you know, that, that simple post becomes a blog article. That article becomes, you know, uh, a screencast video, that screencast video becomes a workshop. That workshop becomes a self paced course, and you are in this kind Spiral of increasing resolution.\n\nJoel: And that's a, definitely an idea from Kathy Sierra's badass where the, you know, like you were spiraling, spiraling around the same idea in ever increasing higher resolution to where you have, you know, like a seedling up to, you know, the, the forest that you can, can grow of an idea. If you, you stick with it and go over, if you, you stop early, your resolution is, is going to be what it is, but you can always kind of keep going on the same idea and that.\n\nJoel: That, uh, that concept or that philosophy is what's driven a lot of what we do. That idea of the spiral and sticking with an idea and seeing how far you can take it over time is, is pretty interesting. Um, and it's actually amazing, uh, to like have that kind of, just kind of broad context over time when you're building a thing versus, you know, here's an idea, try it, throw it away, like the, I'm going to build 30 companies in 30 days.\n\nJoel: Like. can learn something and that's fine. But like most of the time, it's just like, you're not spending enough time with the thing to, you know, like really get to know it. And it's kind of just trying to throw spaghetti against the wall and see if anything sticks or, or just some sort of need to, to keep doing that.\n\nJoel: Um, hasn't ever been like my approach. I'm, like I said, I'm a little bit obsessive and I have an idea and I'm just trying to, trying to see, see where I can take it for as long as I can.\n\nJustin: Yeah. When you, when you started off and you're talking about like thinking about this sort of like teaching problem over a long period and how it'd been sort of an obsession for you, it made, I just like in the back of my mind, just thinking about like craft and mastery and like what that means and the software world or the product world or like, you know, any builder world, it's like, I'll fall into YouTube videos about Japanese joinery where it's like, you know, Craftsman in Japan, just working on making furniture and doing it for years and years and years and years and just like doing the same basic techniques, but making them so, so, so good.\n\n[00:27:57] The Philosophy of Digital Gardening\n\nJustin: Uh, and there is something about this, like, idea, uh, we, it's being more popularized and like writing. So you have a digital garden as a site and like, a lot of people are like, starting to think of that idea now. It's like, Oh, we don't have to just like. Do everything all at once. And that's the only thing, you know, we can like kind of work on this and evolve it over time.\n\nJustin: So I like, I like this philosophy of the process. And I think there's, there's a lot of like wisdom here just to give the things the time that they need to develop. I think it's a important and underutilized skill. \n\nJoel: Like, for me, with the digital gardening idea, like, one of the takeaways was, if you write something or you make something, you can come back and, you know, just spruce it up, you can come back in there and you can, like, tear it up a little bit and then rebuild it, like, I've, my, my digital gardening article, I've been other You know, I, I come into it every few months and just go in there and be like, Oh, this, this has changed or this is different.\n\nJoel: And I don't have to be, you know, it isn't like I've pushed publish and now I can't touch that. It is not immutable. I can, I can make changes over time. And like, one of the things that makes me frankly, super sad is when, you know, like we'll work on a project and we'll release something that's good. And the creator will just move on and basically never even talk about it again.\n\nJoel: Like they do the launch and they do the release and then it just kind of floats off into oblivion. And you know, like, like loses steam where if you, we had a stuck with the idea, we could have, you know, continued and iterated on this and made it into something more and helped more people and, and got the, got, you know, like more ideas out there.\n\nJoel: And, and, you know, it's like, I hate to see it kind of situation when, when that happens, sometimes I'm happy to see them float down the river, frankly, but that's part of the process, right? Like you have something where it's like some blog articles I don't revisit because they were. Not great ideas. I don't mind if they exist.\n\nJoel: Sometimes I'll just delete them. If they're, you know, like, if it's like, oh, I just, that, that wasn't it. You know, you can, you can have it go away and that's fine too. Pull the plants out and plant something new and different. Yeah, and that, that's been, that's actually been a very meaningful approach to me is just this idea that we can You know, it's not a sort by new.\n\nJoel: Everything doesn't have to be new. Uh, that's really challenging. If you're running a subscription service is something that I've learned. Uh, people aren't as interested in your delightful back catalog and want constant new stuff, um, which is just kind of the nature of it. And the nature of the internet is.\n\nAndrew: Absolutely. And like a sort by new kind of situation.Definitely. Um\n\n[00:30:24] Introducing Course Builder\n\nAndrew: , so let's move on to what I've seen you working on, on all the various social networks lately. Uh, it's a thing called Course Builder. There's a repo on GitHub. Not much information around it. It looks like a framework to kind of build courses with, but could you fill us in on the details there?\n\nJoel: yeah, so that's, uh, my egghead version 12 or something, maybe. Um, we had it. So from egghead, we did, uh, skill recordings, that's the GitHub repo products, which, um, is currently. Epic React, Total TypeScript, testing JavaScript and testing accessibility. And then everything we learned from that is kind of pulled into CourseBuilder.\n\nJoel: And there's this product that I, I love, um, called Ingest and it solves this idea of, uh, durable workflows, like event driven workflows in, uh, serverless environments where I'd like, just, just pounded my face against the wall for you. I have a Kubernetes cluster in my office, um, trying to solve this problem.\n\nJoel: And I was trying to, to deploy temporal on, that's why I have K8s in the office. And it was just really hard and I couldn't do it. And I'm relatively smart and good at this. And I just like, was frustrated and couldn't do it. And I found ingest and it was like a, uh, revelatory in its simplicity and ease of use and just like raw power and is absolutely like more than, You know, it's like up there with like react for me in terms of, of just like raw power of potential of what I could build now that I had this in my tool set, um, so much so that I actually took a job there for a few months last year, uh, and that's where course builder came.\n\nJoel: I was, I was like, Oh, I have these ideas. And I'm, you know, like, I want to come combine, ingest and make this like video workflows and these path platform, you know, these patterns, and I'm going to do that as the demo. And then I can teach people and write articles about it. And I got into it and I was like, yeah, this is literally all I want to do.\n\nJoel: And I really don't think that's fair to y'all. Cause y'all need me to do other things. Cause they're a very small company and they're very early stage. And I'm like, I want nothing but for them, but for them to succeed. And I'm like, I don't think I'm right for this job. I'm going to like, I need to just go build this thing.\n\nJoel: Um, so I, I quit working there and still have a great relationship with them. They're awesome. Um, and still using the tool and course builders kind of built around. That idea and removing friction from the course, like from the content production pipeline, particularly video, because people default to YouTube because it's relatively easy, um, to, to get in there.\n\nJoel: They, I mean, obviously they have a, there's a lot of going on when you log into YouTube, but, um, so how can I make it even easier than that? How can I make it more appealing for the people that we work with to like post on their own platform instead of, you know, some. Ad walled other person's garden. And, and you're like, YouTube is fantastic.\n\nJoel: It's like a, um, I think it's a treasure that it exists for humanity, frankly. Uh, but like, I'm like, well, we're also trying to build businesses and sell things. And, and, you know, there's some, I think there's a lot of value in building your own platform and having, you know, your own space where you can post too.\n\nJoel: And so it's a little over a year, year and a half, I've been working on that. And now it's like. It's actually great. And we're using it as a CMS for our other projects too. Like egghead is now being driven by course builder. And this was funny cause I don't know if it's obvious to people. Um, but you can just connect to a database.\n\nJoel: You don't have to migrate your entire site. Like we don't have to migrate egghead to course builder. We just put it on a sub domain and then literally egghead has a Postgres database. And so instead of migrating the whole site, we just, or using even a rails API. We just connect to the database and do stuff.\n\nJoel: Um, I don't know, anybody that needs to hear that, like, you can. You can just connect to the database and do stuff. Like, you can write SQL. And mostly it's fine. Um, it's, you know, like, it adds some complexity to the situation. And I don't know why it took me that. I always, like, literally, I'd be like, Oh, man, I gotta write a Rails API.\n\nJoel: That sucks. I don't wanna even mess with that app. Um, I don't wanna deploy it. I don't wanna have to, like, rethink in Ruby. I'm a retired Ruby developer. I'm gonna keep it that way. Yeah, just connect to the database. It's fine.\n\nAndrew: So in Badass Courses, what were you using Ingest for? Like, where did it, yeah, where'd it go?\n\nJoel: Oh, we're using it for, um, like, email automation. So, like, post purchase email automation. A lot of webhook handling. So, if you think about a scenario, like, you get a Stripe webhook, and then what happens, you know, you end up with the, like, the webhook handler that's like a, Just a, a monster and instead of like gets it, we record the event as incoming.\n\nJoel: And then we fan it out with ingest and all the different things post purchase happen. Uh, our video processing pipeline is, is fully, uh, controlled by ingest. Like it's like, um, you upload a video and then a bunch of things need to happen from transcripts to, you know, Also, please put transcripts on your videos if you are making courses, and there's nothing that makes me more angry is when I see people bragging about how much courses they're selling and they have video and they don't have transcripts or captions for their videos.\n\nJoel: It's so just table stakes at this point, DeepGram is cheap, you don't even have to pay humans to do it anymore. anyway, so all of that stuff is, automated for us by Ingest. I use it literally if I'm sitting down to write a script because it does this replay thing. And another thing is like you get a Stripe webhook and you're trying to send Slack messages or you're trying to send emails.\n\nJoel: 42. And you're entering, you know, like you have to enter the details and like make the full cycle of the purchase. Within Jest, it comes in, that event happens. And then because we've divided it all up into nice little serverless event driven functions, you can pick any part of that and just rerun, like rerun that one thing and then like tweak the Slack message, right?\n\nJoel: Like, cause that's, you know, if you've ever tried to build Slack, Integrations, it can be, it can be kind of frustrating, uh, depending on your loop. Uh, and so that, you know, allows us to do that or we're formatting HTML emails. Another thing that's like a real hassle with this, you can just, just push replay and make your changes, push replay, change some data, whatever.\n\nJoel: That's really nice. Uh, their development server is, is like, I don't know. I, it's like the coolest thing I've ever actually. Maybe interacted with in terms of like a product tool is their development server. I don't, I don't know, there probably are, I think I've, I've heard, I haven't seen any, I haven't interacted with any of them.\n\nJoel: They just put a lot of time and effort into their development server in particular, and it just makes my life way, way easier. And I keep thinking of new ways that I can use it or, you know, like ways I can migrate stuff that we've done in the past, um, to use it.\n\nJustin: was trying to look up when we had them on. That was episode 101. Yeah.\n\nJoel: Did you talk to Tony and Dan?\n\nJustin: we had Dan and Tony on. Yeah, it was a great episode.\n\nJoel: They're amazing. And I like wake up a lot of mornings and wish that I was still able to like be involved at that level with them. Cause it's like the, they built an amazing team and both of them are just like fantastic human beings. I think, um, so there's a lot of, um, there's a lot of sociopaths that are CEOs.\n\nJoel: And, um, It is just wild, like how not that Tony is in particular, like, it's just like Dan is, you know, like he, he's a friend, but like just Tony and his conscientiousness and desire to build something good, uh, that, that can help people is just, just blew my mind, frankly, like I've, uh, never directly experienced that in such a way.\n\nJoel: So it's, it's cool to like, you know, Have a product that I love, um, that is led by, by people that I can respect and admire in that way. There's a lot of products that I love that they don't have that and, you know, I'll still use the product, but it's like, you know, it's like, I would love to see more of that in the world.\n\nJoel: Yeah, I had a similar experience with trying to set up temporal. It was just like, I felt very stupid not being able to get any of that to run and just like the night and day difference between ingest is is stark.\n\nJoel: like the folks at Render, the, uh, It's render. com. Uh, they, they helped me and we're like, Oh, we'll fix this. And we just need to make this AP. Cause I was like, well, the next app and it's running on Vercel and I just want to run the workflow and they're like, Ooh, so they made like a, well, you're going to need an API layer and that's going to need to consume GRPC.\n\nJoel: Uh, and then once you're consuming GRPC, we can, you know, like we could translate that and then we can push that to this other API layer and then you should be able to do it. And I was like. Like I, I mean, I don't know, that just doesn't sound good. Like there's none of that that I'm gonna be able to think about or maintain, and I'm not gonna learn to write, go and, you know, it's like this, this whole, you know, like I would love to, if I had the time, I would, I would absolutely sit down and learn how to write, go and zig and rest and you know, like all the other fun, cool languages that are out there.\n\nJoel: I just don't, I have to, that is one thing I've learned is you have to focus a little bit if you want to keep, keep making progress. So\n\nJustin: Kind of have to focus a lot.\n\nJoel: Yeah. Yeah, you do.\n\n[00:39:04] Challenges in Developer Education\n\nJustin: What is, I mean, what is your take on like education and the world of like distraction? So specifically. I'm just really, uh, this is a little bit early to be transitioning this topic. Uh, we usually end the episodes talking about something future facing, but I'm sort of inspired.\n\nJustin: I've been thinking a lot with great angst about learners coming into the environment, especially specifically in the software world, the job market for juniors is not great. Um, it is hard to break into this market. The education space has changed significantly with generative AI. People being able to produce things without understanding them, which has always been a thing in some degree or another, right?\n\nJustin: We've always had tools that giving us more capabilities, but it does feel like things are changing. The Delta is a little bit greater now. And I'm curious how you're thinking about like education at this moment in time, course building or like grabbing people's attention in a different way or like what, what it takes to sort of like successfully educate people in a sort of like. New world.\n\nJoel: So with Egghead, um, when I made it. I found a tutorial that was build a rails app that accepts Stripe payments for subscriptions. And I followed that tutorial and I built Egghead in a little under two weeks, uh, and deployed it and started taking people's money. I didn't understand how it worked. Um, I knew it did work and you know, I don't, I don't, it didn't have any tests at the time, I do a lot better at that now, like the commerce side of it's tested.\n\nJoel: And I have a better understanding of it now. And I look at that and I, they're literally. Things and decisions that I made in those first two weeks, blindly following a tutorial and then naively expanding on that tutorial that I have to live with and suffer with on a daily basis. Um, and that's a thing.\n\nJoel: And I, you know, it's like, I call it the Roomba problem. Um, because like I use cursor, like I, I love these tools. Like I, I am fascinated by them. And you know, like I, like my deep love of technology is fully just embracing from day one. Um, I love generative art and that sort of thing. Like it's like all around me in my office, actually.\n\nJoel: Uh, like I've, I've been fascinated with that for, for a long, long time. Um, so like, I, I love these tools, but you get the, you know, like with, with cursor in particular, and I've used it to build all sorts of things and I've sat down and built whole projects where I'm like, I'm just going to prompt this whole thing and literally do it by voice.\n\nJoel: So I get super whisper and I just sit here and. I'm just talk to it and, you know, like command I to get the composer up and then tell it what we're going to build and reject, accept, reject, accept. And these things will just get into the corner and just be like, just like a room bug, just, you know, like you have, you can't, we have a robot vacuum too.\n\nJoel: And you, you don't just, it just doesn't clean your house. Like, you know, it's always going to have a cord stuck in its little mouth or get a shoelace or, you know, like get stuck in a little spot and be like, hell it's an incline. I can't get out of this. And you get the same thing with these tools and they, they keep improving.\n\nJoel: I don't know. Who can predict what point where it'll be like, Hey, I need this app. And it's just, and you have it and it's flawless and you don't have to worry about it and just kind of walk away and do that thing. I think that's actually great. Like that idea of the democratization and allowing more people access to these tools and make it easier to build software and being able to be like, Hey, I have this spreadsheet, but I'd really like it to be this, or, you know, like my, my kid's soccer team, you know, needs this app.\n\nJoel: And I've done that for, you know, Like a little leagues we've been in in the past and that, that was cool, but it'd be even better if people could just like pop it up and we've had, you know, no code tools have existed for these kinds of things, but like when there's a ceiling, especially if you're talking about something like the scope and scale of a thing, like of, of true complexity, that, that just gets really hard.\n\nJoel: And I don't know that. Our approach, like to go back and kind of answer the question is like, we embrace these tools. They exist. So we include them in what we're talking about, right? Like you can go to a kid now and there's cursor lessons and, uh, like windsurfer versus cursor. And, you know, like we're, we're evaluating the tools and talking about it.\n\nJoel: Like what's, what's good. And what should developers be thinking about? You absolutely should be thinking about these tools if you're writing software. If you're not, then, um, you know, it's like, The Japanese craftsmen making those fine dovetails with their mechanical tools. That's cool. But also, you know, like, I don't know what the world will have for that sort of bespoke level craftsmanship and software in particular, uh, in the future, you know, so, yeah, Like where, where it's, it's a automated job.\n\nJoel: And, um, the people that are building these tools and the money that's going into these tools absolutely want to like remove more software, like high paying software jobs from the equation. Like that has to be, you know, that's, that's a big motivation. Cause developers are super expensive because it's hard and takes a long time to get in there.\n\nJoel: I don't think the market for juniors has ever been good. Has it\n\nAndrew: I'm not sure. \n\nJoel: people say that and they're like, Oh, now the market for junior developers is like, I don't think it's ever been good because it's such a hard job. And like the, the, the tipping point from, I want to learn how to code to like, I have a productive software developer is like, that's a, it's a big valley to leap.\n\nJoel: Um, I don't, I don't, I can't, I'm was trying to think if I've ever, ever been like, wow, this is This is really the heyday for junior developers. I don't, maybe there was one that I'm not aware of. I'd be interested to hear more, I guess. I don't,personally think that has happened.\n\nAndrew: Yeah, I think it is harder today than when I started like when I got out of college it like it was like kind of almost the gold rush of like there's just jobs everywhere. My sister in law right now like graduated a year ago, hasn't had like any luck. My sister. She hasn't had too much luck either she kind of had to like juice some connections to get like a sort of tech job, but yeah it's been hard, hard for them for sure.\n\nJoel: And it might be more of a, like a, a saturation thing too. Because when you're talking about these, you know, like high paying jobs, where you have to work at home and, you know, make, make just bonkers money, right? Like for, for what it is. and then, you know, like you get the, the top of the funnel becomes very, very heavy and saturated.\n\nJoel: And another problem that I think that people are going to have is related to the generative tools, but it's a little bit different. And Kent actually wrote a really great article. AI is coming for your job, but it's not what you think is because Like hiring is really, really difficult now because it's like this, this just deluge of, of generated resumes and cover letters and, and just like applicants that are putting in three, four or 5, 000 applications a day, like literally scouring the internet, scraping and just like, just peppering everything.\n\nJoel: And how do you. Like, how do you even deal with that on the other side? It's like our inboxes are already, you know, like it's already a nightmare. Um, and now you have have that, and that's affecting everybody's inbox. We're all getting the generated content pushed. Um, but you know, from a, from a hiring perspective, it's a, a not great situation for anybody that's like trying to go traditionally.\n\nJoel: Um, his idea and, and, you know, not really a solution, but just a, a way to kind of mitigate some of that is, is like in-person events at the end of the day. You know, it's like conferences and I went to, uh, Danny Thompson's commit your code last week, which is, is had that kind of, uh, early career vibes.\n\nJoel: Danny's really big in that space and really gives amazing advice to people trying to break in. you know, it's like at that event, I just saw it in action, right? Like you're able to, to meet people that are earlier and he's like, make yourself human in this sea of, of non humanity, like being, you know, You know, a person that people can relate to is is a huge lever to it's it's hard.\n\nJoel: No, I'm pretty. I mean, I'm really happy. I don't have to, to, to try to do that again. It was actually pretty fairly easy for me. It wasn't easy. It was hard, but it was, it sounds like it was, was easier than that. Like, I didn't have to, I jumped through a bunch of hoops and got lucky when I did this 15 years ago.\n\nJoel: So, like, what worked for me, like, I don't give a lot of career advice because what worked for me is absolutely not the same as what's going to work for somebody today. Right.\n\nAndrew: I very much feel that I, when I was early in my career and in that kind of like golden era, I gave out lots of advice of like, this is a great field to go into the jobs are cushy. And then like, just from there, it just kept going down and down and it was much harder to recommend, uh, any career advice to anybody.\n\nAndrew: I'll give it if somebody asks, but I will not not put it on someone.\n\nJoel: Yeah, I'm not, you know, I'm not get your first job in tech. It's definitely not something I want to write.\n\nAndrew: No.\n\nJoel: think what you said is actually still true though. I think it is a, it's a great job. It's wonderful. And if you, you love puzzles and, and, you know, actually love the technology, I think that there's a lot of room. I think there's a lot of different reasons that people could get in this and still be successful.\n\nJoel: and you know, I just, I'm just excited to be able to keep doing what I'm doing. Like that's, that's my entire goal is to keep on trucking and keep kind of spiraling around this, this problem for, for as long as I can actually.\n\nJustin: yeah, absolutely. \n\n[00:47:56] The Future of Developer Education\n\nJoel: So as we wrap up, we always like to ask a future fishing question. I asked one, but like, I just want to ask you what you think the future of developer education looks like. So when I, yeah, I see, uh, like Andre's car posse. You know, who's like the, the father of open AIs, LLM, chat, GPT, like he's building his new thing is an education startup and. It's going to be really interesting to see what that looks like and what they do. And I see, I've seen, uh, uh, Amelia Wattenberg is working on a, uh, a project that's, you know, like generate a lesson for any sort of tech you can think of.\n\nJoel: And it'll be like an interactive exercises. And I'm really curious to see how that helps or hinders folks that are trying to learn. I don't know. I don't know if it will, you know, I have no idea from like a predictive. Standpoint what the end result will, will that be great or will it be a dead end? I'm, I'm really interested in that.\n\nJoel: I think at the end of the day, there's always going to be that kind of demand for that. You know, like something that's more, more direct and more boutique and more humanized than the generative stuff can bring us. So, um, I don't think, you know, I don't think colleges are going anywhere. I don't think, you know, like, in person workshops and learning directly from somebody with, with a lot of deep experience and context is going anywhere and definitely think we have at least a few more years before the, the robots take, take all the teacher jobs.\n\nJoel: Um, I, I think that would be, I think that would be bleak, um, to be honest, is, is the word I might describe that with. Um, so I don't know. I'm not much of predicting the future in general. I'm kind of like a, A role with the punches kind of person in my lifestyle choices. So it's going to be interesting times that I have no doubt it always is.\n\nJoel: And, you know, there's a lot of cool stuff coming and, you know, like the, I think the curious will, will, uh, keep being able to like keep themselves interested, um, for, for some time. Hope so. Anyway.\n\nAndrew: Cool. Well, that wraps it up for our questions this week. Thanks for coming on, Joel. Uh, you've done a lot of work in the education space and it's all so refined. So thank you for doing it and thanks for coming on.\n\nJoel: Yeah. Thanks for having me. It's been a lot of fun. Love chatting with you guys.\n\nJustin: yeah, we're big fans of your work. Uh, content creation is hard and we have massive respect for all the work that you've done. And like the quality and the polish and frankly, the like philosophy around how to approach problems like this. I think. We just don't see enough, like, real refined philosophy on like tackling what are hard problems, uh, like, you know, building a productive, uh, education course.\n\nJustin: So yeah, thanks for all the work and thanks for coming on.\n\nJoel: Thanks y'all.",
"title": "Joel Hooks - Egghead, Badass Courses, and the Future of Developer Education"
}