Josh/Chris === Chris: ~Let's do it. Test, test, test. Pod rocket, react web development.~ Josh: ~Test, test, test. Apple, banana, carrot, durian, eggplant. Aha. Okay. I have a few things I can do about that. I think I can also, well, as long as I, if I sound okay here. Got cool. Cause I can also turn down the input gain, but maybe I'll do that a little bit actually. Uh, what is the name of that? Wavelink is what it's called? Yeah. This is something I fiddle with when I'm recording my own videos. So if I turn us down to like here, alright, that should now be quite a bit quieter so I can move this closer. Alright. That should be, and even if I project, we should be, uh, still within~ Chris: ~Yeah, that sounds love about it.~ Josh: ~Right. Yeah.~ Chris: ~All righty. All right, let's kick it off. Okay.~ [00:00:00] Hello and welcome to Pod Rocket. The podcast brought to you by Log Rocket. Log Rocket helps software teams improve user experience with session replay, error tracking, and product analytics. Try it free at logrocket.com. My name's Chris. You may have heard my previous episode on Pod Rocket about T R P C. I'm happy to say I'll be joining Pod Rocket as a part-time host and I'm super excited. ~Uh,~ with us today is Josh Comeau, who is an indie hacker, an educator. Josh was actually on Pod Rocket back in 2021 and joins us today to ~talk about his new courses and~ share what he has been up to lately. ~Um, so to get us started,~ why don't you tell us a little bit about yourself, Josh? Josh: Why Hello there. ~Yeah.~ Thanks for the invitation. ~Um, yeah,~ I've been a software developer. ~Uh, I mean,~ I started tinkering in like 2007, 2008, working as a developer since the mid 2010s. ~Um,~ and yeah, a few years ago, ~uh,~ around the start of the pandemic, ~I, uh,~ I realized that I ~had~ had this thing that I had wanted to do for a long time, which was to create my own educational content because I had been blogging for a few. And teaching at a local coding bootcamp and realized that it was, ~uh, you know,~ like I would see things that other course creators were doing and just thought it seemed like so much fun. ~Uh,~ so that's been the journey that I'm on now [00:01:00] is creating online courses, self-paced, interactive online courses, and it's been a lot of fun. Chris: ~That's awesome.~ I just wanna say I'm a big fan of your content, ~like~ all the stuff you put out as ~like~ super high quality. I love. The little clay version of yourself on your site. That thing's Josh: I appreciate it. Chris: ~But yeah, I'm super excited to talk to you. Um,~ I know you have a course out called The Joy of React. Can you ~kind of~ cover what's in that course and what kind of major takeaways you want for engineers who take it? Josh: Yeah, ~so I mean,~ fundamentally it's a beginner react course. The idea is that, ~uh, you know,~ when I was building the course, I was keeping in mind ~like~ recent bootcamp grads, people who had tinkered with React for a month or two, but hadn't really gotten to the point where they felt it made sense. ~Like I think, uh,~ Like with anything, right? There's always that period of ~like,~ okay, you've gone through the docs, you can ~kind of~ follow along, but when you try to use this on your own project or when you try to go a little bit deeper, ~uh,~ you realize just how much of it still doesn't make sense. ~So that's really, it's not like, uh,~ it's a beginner course, ~uh,~ for people who have ~like~ tinkered with it a little bit, uh, but who don't feel like they've really gotten the hang of it. And I wanted to make this course because, ~you know,~ I mentioned, I used to teach at a bootcamp and I prepared the React curriculum for that bootcamp. So it's something that I [00:02:00] have quite a bit of experience. And ~it,~ it's just such an advantage when you've taught something in person because ~you have like,~ especially like I did it for ~like~ four or five cohorts, so I saw multiple groups of people come through and ~uh,~ I noticed just they would hit the same walls or ~like~ drive over the same speed bumps. So it was a matter of ~like,~ I think I can build something that will address the concerns people. ~Um,~ but yeah, ~that's,~ that's fundamentally yet it's ~uh, you know,~ I have two courses. I have one on CSS and one on React, and they're both sort of the same idea, which is, ~uh,~ noticing in my own professional life that, ~uh,~ well, well, CSS more than React, but with both of them to a degree. ~Um,~ there was just like a real, ~uh,~ there were holes in people's understanding and holes in my own understanding. Like it's something that I spent quite a few years, ~uh,~ filling in. ~Um,~ so that's ~sort of the,~ the idea is to try to create something that will, ~uh,~ fill in those holes and give people, ~uh,~ more of a, ~you know,~ a robust mental model is the way that I like to phrase it. Like an understanding of what all this stuff is and why it works the way it does. Chris: ~Awesome. Yeah, I agree. Like~ I know ~like~ the original version of the React docs were kind. Minimal. And a lot of people got super confused, especially with ~like~ react hooks and ~you know,~ dealing [00:03:00] with ~all the,~ all the foot guns ~that~ that comes with. But I know ~like~ with the new docs that did, they just released finally,~ like~ it definitely covers ~like a tunnel like~ a lot more so people can ~kind of~ have a better understanding when they're ~kind of like~ launching their react. Quote unquote career. ~Um, so, so what up That brings me to this point cause I'm curious, like what do you think about like, the future of React development and is it a good choice today? Cause I know there's like new competitors, like solid js, right? Um, and then now with like react server components, being able to like Versace with like next JS and remix.~ ~Um, how does that all come into play, like in your mind with how like reacts gonna be later on?~ Josh: ~Yeah. Oh, it's such, uh, I have someone knocking at my door. One~ Chris: ~No worries, no worries. Mom, I'm in a podcast.~ Josh: ~I am glad we're not doing this live.~ Chris: ~I know. That's the best part. That's the best part. Cool. I can, uh,~ Josh: ~the editing, like if you re-ask that question~ Chris: ~yeah, for sure. For sure. So I'll, I'll tell, I'll tailor her back. Um, Where I'm trying to remember. So I talked about the docs. Okay. Okay.~ Josh: ~how next and~ Chris: ~Yeah. Cur. Okay. Yeah. Yep, yep. Uh,~ so I'm curious about your thoughts on the future of the React, react development. Cause we have new competitors now. We have like solid js, ~you know,~ spelt kits out now, and then now with the reactor components with like next JS and then also remix. I'm curious like how that comes into play and ~um,~ do you think React is still a good choice today and just like general thoughts. Josh: ~Yeah. Uh,~ at first actually I wanna say that the React, the new React docs are incredible and I was so happy to see that they're finally out of beta. Cause I know for a long time I was ~kind of~ sending people there and telling them to ignore the fact that it was in beta. ~Um, yeah, no,~ it's a great resource. I do think, ~uh,~ it's true like historically, ~uh, you know, like~ there was ~the,~ the JavaScript fatigue was the term a few years ago because it seemed ~like~ every week there was a new framework and people were constantly throwing everything out and starting over with a new stack. I actually think it's, ~uh, Like,~ because that was the pattern for so long, it's easy to assume ~that~ that will continue and that react will be a similar sort of flash in the [00:04:00] pen. But I do think just based on how many years it's already been around, if you look at the numbers right, like in terms of NPM downloads or GitHub stars or anything? ~Uh, well~ maybe not GitHub stars, because that does tend to be like a really specific snapshot of the people who are most online. But in terms of like maybe the React developer tools, installations on Chrome is a better. There's still a ton of people using it, and that number continues to grow. ~So, uh, you know,~ I don't really think in terms of other JavaScript frameworks. ~I mean,~ I think that there's, ~uh,~ always gonna be a place for frameworks like Spel and ~ve I think there or not ve, uh,~ view. I think that they're always gonna be, ~uh,~ and frankly, I really, ~uh,~ I built a thing with View a couple years ago and thought it was great. ~Um,~ So I do think that there's, ~uh,~ it's unfair to say that like react is the only option, but I think it's going to maintain its position as the most commonly used option for at least a few more years. And, ~uh,~ so in terms of ~like~ whether, I think it's a good time to learn it. Yeah, absolutely. In terms of ~like,~ cuz it's true, like so much is changing right now. ~Like~ if we see what's happening with next. Uh, there's ~like~ this whole new architecture, right? React was for so long, it was like a client side framework that had this optional, like you could render it on the [00:05:00] server if you want, but really that was, ~uh,~ it's ~sort of~ the same thing, just doing a bit of the work ahead of time. Whereas ~like~ now there's this idea of server components, which is essentially like an entirely different way, a different type of component. And it does seem like we're in ~kind of~ a tumultuous period. I'm interested to see how it shakes out. Like I do think ~the,~ the biggest question to me is, Next 12 to next 13 is such a big jump and it reminds me of how Angular one to Angular two was such a big jump and how ~like,~ Angular lost a lot of, ~uh,~ momentum because of that. Granted, I don't think it's like from what ~I'm,~ I'm not an Angular developer, but from what I remember, it was really hard to migrate from one to two, whereas with Next, they've created a really nice migration path. ~Um,~ but it's true, like with Remix coming along, I don't know what the go-to, ~uh,~ react meta framework will be in a couple years. ~Uh,~ but I think as long as you're, ~you,~ you get comfortable with the underlying technologies. ~Uh, like~ if you get comfortable with React server component. It's likely that any tool that builds on top of React is gonna leverage those. So it shouldn't be too bad to switch from one to another. Chris: Yeah, I agree. ~And so I'm just curious, I mean, I'm not curious, but I wanna say it's like~ I wonder if it's gonna [00:06:00] be confusing. Cuz if you think about a lot of the production apps today, they're not using React server components. Everyone's probably just doing ~like~ create React app or some kind of spa architecture. But now when you go to the React doc, it's like server components and they're like, ~well,~ I just have a spa cuz my company wrote this ~like~ six years ago. And so it's ~like,~ what, where do I go for ~like~ that specific kind of resource, right? ~Uh,~ so now there's ~like~ this divide of spa versus ~like, you know,~ RSCs ~and I,~ and I'm ~kind of~ making big assumptions here, but in my mind, like I can imagine if I was a beginner, And I joined some company and they're not doing what I'm seeing on the site. I'd be ~kind of~ confused and ~like,~ do I go back to like older tutorials that were still using Create React app and all that stuff. ~Um,~ so that was just like one kind of thing that's always been like in the back of my mind since this started happening. Josh: It is a really good point and I do think that there's, ~uh,~ it's interesting to see like this is with anything, right? Something to. Comes popular. And then over the course of a few years, like the culture changes, the way people do, things change, but most people can't afford to throw everything out and restart. ~Like~ there's still a bunch of React applications using Flux, which was the [00:07:00] thing that predated redux. ~Um, so, you know,~ I think that it's always gonna be, ~uh,~ and it, ~you know, I,~ I do think this is, ~uh,~ it'll be interesting to see how, ~uh,~ successful the React team is in convincing the community. Full stack react is the way to go. Like moving people away from having a single page application and doing everything on the client. Cuz I, it, it's true there's so much existing stuff out there that is not gonna be easy to migrate. ~Um,~ I think it's an open question as to like how common, ~uh,~ these things will actually be in the future. Chris: Yeah, exactly. Exactly. ~Um,~ so yeah, I wanna bring us to this next topic. And this is actually an article I've like referenc. The team members before, which is pretty funny. ~Um,~ so you wrote this blog called ~Common,~ common Beginner Mistakes With React. Can you ~kind of~ walk through some of the things you've seen, ~um,~ and what do you feel are some misconceptions or concerns about React today? Josh: ~Yeah. I mean~ this gets back to ~like~ my experience teaching at the bootcamp because I, in fact, a, a big part of that blog post was just trying to ~like~ think back and remember~ like,~ what are the things that I would. ~Uh, I,~ I had to explain to 'em so often that I actually got like a bit of ~a,~ a habit or like a pattern for how to explain [00:08:00] something. ~Um, it's, you know,~ most of them are things that I imagine are, ~uh,~ unsurprising to people who have some react experience. Things like forgetting to put a key when you're mapping over an array. ~Um,~ trying to understand why if you call a state setter function, why the state hasn't immediately changed in the next line of code. ~Like,~ it doesn't change the variable that you've. ~Um,~ it's ~like~ the little gotchas like that. ~Um, and I do, uh, you know, this was,~ it's a blog post where I wanted to ~kind of~ go broad, so I wanted to cover a lot of the more common things. The trade off with that is that you can't really go deep. So it was actually ~kind of~ tricky for me because I wanted to like actually explain ~like,~ not just ~like,~ here's the problem and here's a bandaid to fix it, but ~like,~ let's understand why this is happening. ~And you know, it's,~ you can't really do both unless you plan on creating. ~I mean,~ that's what the course is, right? Like it's a deeper and wider exploration of these concepts. ~But, um,~ But yeah, no, that was ~the,~ the idea, ~uh,~ with that blog post. And I think that for the large part, like we're talking about how everything has changed recently, at least in terms of ~like~ the people I've been speaking to. ~Uh,~ for the most part, people are still hitting the same sort of beginner frustrations. ~Uh,~ like those are [00:09:00] still the most common questions I get with the, maybe the exception is use effect in all ~the,~ the gotchas that come along with that. That's ~like, you know,~ relatively. Chris: ~Mm-hmm. The,~ the favorite part I like is the evaluating was zero. I've been on so many websites where you ~kind of~ just see a number zero sitting there. And for a while it didn't really click on my head. ~I was like,~ I was like, I guess maybe there's just a typo. But then I remember that they're just, it's just rendering zero because it won't go past that cuz it's a falsey value. That's, I think that's Josh: is. Yeah. It's funny. When you get comfortable with reacting, you start being able to see the mistakes you make used to make in the wild. Yeah. Chris: ~Exactly, exactly. Cool. So Mila, just uh,~ one last question to ~kind of~ round off this topic. Is there like any general advice you have for beginners today, for potentially anyone listening right now or later in the future? Josh: ~Yeah. Goodness. It, it's hard to, uh, casino~ Chris: ~It's a loaded question.~ Josh: ~Well,~ the annoying answer is that it depends, right? It depends who you are, what prior experience you're coming with. ~I do think. Um, one of the things I,~ one of the things I do in my course, which is controversial, is I don't teach TypeScript. So we focus exclusively on JavaScript. And it's not that I think TypeScript is bad, I think TypeScript is great, but ~I've,~ I've learned that trying to learn both if you don't have experience with either is like a [00:10:00] recipe for being completely overwhelmed. So I think that, and similarly, ~like,~ I think ~the,~ the learning path here is to get reasonably comfortable with html, CSS, and Java. ~Um,~ then look at something like react and then look at something like type script on top. Or you could do htm, O C S s, Java script, then type script, then react. I think that's also ~like~ a perfectly valid order. ~Uh,~ but that would be, what I would say is that you wanna make sure that you're not biting off too much in any single bite. ~Like~ try to keep the stuff that you're learning at one time to a little bit more of a manageable. ~Um,~ and I do think that if you're already comfortable with type script, ~uh,~ and you start learning, react, then for sure learn, react with TypeScript, cuz you already know that. But if you don't know either, ~uh,~ I would, ~you know,~ do them sequentially rather than trying to learn both at once. Chris: ~Mm-hmm.~ Yeah, I agree. ~Um,~ I've talked to some people who are trying to learn, react in TypeScript at the same time. And if anyone has ever done reactive typescripts, you will. Likely run into really gnarly type errors and you won't really have any idea how to solve them. ~Um,~ and then people are like, I hate typescripts. So then it ~kind of like~ leaves a bad taste in their mouth. I'm like, I'm never gonna type script again. [00:11:00] Java script forever. ~Right. Um,~ but yeah, I agree with everything you said. I think that's ~super,~ super great advice. ~Um,~ Josh: ~I think that there's, uh, and~ this is something ~I've,~ I've given a talk before where I compare CSS to type script because I think they're both similar in one important way. Which is the learning curve is ~like, uh,~ it starts off really gentle. Like with c s s, you can do like color red, background, color blue, like it, ~you know,~ you have these simple declarations that create the result that you're after, and it's nice and clean. And with type script it's ~like,~ oh, ~I,~ I can, this thing is a string, so let me add colon string, and this dysfunction takes these parameters. Let me annotate them. But then ~like,~ once you get beyond that with TypeScript, you get ~those, those,~ those tool tips that have an error message and the error message requires scrolling. Chris: Yeah, Josh: ~Like~ that's always, ~uh,~ that's always a bad sign. ~Uh,~ with css, it's all the like weird layout stuff and the bugs and trying to understand how all the different things fit together. ~Um,~ with both of these things, I think the developers often, because the learning curve is so gentle at first, it ~kind of,~ you start moving along and you're like, okay, this makes sense. And then you hit that wall of ~like,~ things get so much harder. And for a lot of developers, that's where their learning stops. And that's part of why I made the CSS course was like, [00:12:00] okay, ~let's,~ let's get, because so many developers that I knew, ~Uh,~ understood the basics of c s s, but ~kind of~ stopped once they hit that, like ~the,~ the sloping up of the learning curve and everything beyond there was just remained mysterious. And honestly for type script, I'm not that far beyond that point myself. ~Like~ there's still points where ~I'm,~ you're working with React context and you're trying to figure, you have ~like~ some weird polymorphism thing and it's like, I don't even know where to start with this error message. Chris: Exactly. Josh: takes a while. Yeah. Chris: ~Yeah, for sure. Awesome. Um,~ so this next thing we're gonna talk about, which is something ~I've,~ I've just been dying to talk to you about with is, ~uh,~ the end of front end development. So it's no circuit to everyone. Like I can't wake up and walk five steps without hearing the word AI or chat G p t or whatever's gonna take our jobs. ~Um,~ I wanted to just get a quick summary in your words, ~like, um,~ what does this address about the future of web development and ~like,~ what are your general thoughts about that? Josh: Yeah, so the idea with the blog post was I was seeing a lot of the discourse on Twitter from people who were saying, people who had, ~like,~ there's a couple different ways that ~I've,~ I've seen this. One of them is someone [00:13:00] plays with G P T four chat, G P T, one of these tools, and their takeaway is ~like,~ my goodness, if things continue to accelerate at this rate, Like it's G P T four is so much more impressive than G P T three and that was only a couple months ago. ~Uh,~ so you ~kind of~ extrapolate out and you imagine like in a year or two,~ like~ this is gonna be able to do everything that I can do as a developer. And then I think the other take that I've been seeing, which is ~like, uh,~ amplifying this is the people working in AI or who have AI startups who are sharing like in six months we won't need developers anymore because ~like, ~you know, the same sort of take. But from that perspective of someone actually working on this thing, The reason I felt compelled to write this blog post is I didn't like how certain everyone was seeming about this because I don't, ~you know,~ I, I've, I'm not an AI expert, but I've learned enough, ~uh,~ just from experimentation and reading about it. Cause I was like everyone else curious about it, and it isn't clear at all to me that that's the way it's going to go. Like certainly the things that it can do are really impressive. ~But you know, like the most,~ the most common examples we're seeing, ~like,~ there's that joke website where you give chat G P T a, a photo of a sketch that you took. ~Uh,~ and you ex, ~you know,~ in the [00:14:00] photo there's a button, you click the button and it gives you a joke. You feed that into this magical AI machine and it spits out an H T M L document that has the JavaScript wired up to actually generate the joke. But then you look at the code that it produced and it's ~so, so,~ so different. Like ~it's,~ it's so far removed from the work that we actually do as front end developers. And I think that, ~you know,~ it's impressive, but there's so much more to our job than what I have seen, ~uh,~ the AI do. And it's not always evident that ~like~ the pattern continues forever. Like certainly it's gotten a lot more impressive. The analogy that ~I,~ I thought of recently that I like for this is ~like,~ if you had asked people in like 1970, ~like~ a year after we landed on the moon, how long they thought it would take us to get to. They probably would've said like a few years, ~like ~we just got to like, you know, you, you see that they can get to the moon, and you assume that getting to Mars is just. Look at how far we've come, we can get that further. ~Uh, but you know, like~ scale brings complexities of its own. And the thing that I, I'm, the reason I'm skeptical about this is that, ~you know,~ the AI [00:15:00] tools are ~really,~ really good at predicting texts, and that's ~really,~ really useful for like short code snippets. But with larger projects, ~I,~ I just, I have a hard time believing that it will, ~uh,~ understand the nuances. Given that it doesn't have any way, at least as far as I know of validating its assumptions, so if it thinks that it works a certain way, It doesn't really have any way to, it can't ~like~ run the code, see the result and then adapt it. Like you can run through that loop with it, which works well for smaller snippets. ~But, you know,~ I think we're still, ~uh,~ very far away from the future of ~like~ a non-developer sits down with a chat bot, ~uh,~ explained that it wants like Uber for cats or ~like~ whatever startup idea people. And in a short couple of hours back in having ~like~ a back and forth dialogue, it spits out ~like~ a production ready, secure, accessible, full stack application with the database and everything else. ~Like~ that just to me feels ~like, uh,~ that's the, not just going to Mars, but ~like~ going to another solar system. ~Uh,~ I don't know how, ~uh,~ and I could be wrong, like the thing that. ~You know,~ I don't wanna be hypocritical. I am irritated by the confidence people have, and [00:16:00] I am not confident in my own assumption here. So maybe I'm wrong, ~maybe,~ maybe. ~Uh,~ we are pretty close to that happening. It's just from everything I've seen so far, ~like I have not seen any, uh,~ nothing I've seen so far has made me, ~uh,~ believe ~that~ that's the future, that we are only a couple of years away. Chris: ~Yeah, exactly. And like, I'll kind of give like my own thoughts here. Um, like there's still a very, like~ you need real people to interact with other people. Like you can't just have, for example, a non-technical person, just type into a prompt and just assume everything's gonna work cuz when they don't work. ~Like, how do you,~ how do you fix that? Right? Sure. You can maybe input more prompts, ~um,~ but if it doesn't work at the day, then you're really, you're pretty much still at square one. ~Um,~ what other thing is a lot of companies have proprietary code in their own, in the way they do things like chat. G P T has no idea of like your architecture and you know how your company does stuff so ~it can really, like,~ it can't. Dive in and be like, this is how you would integrate with your own,~ like~ custom backend or anything. So it's ~like~ for me, unless maybe it's just like a content site beyond that, I don't really see like true use cases of very complex systems, especially when they're not open source. ~Right. Um,~ [00:17:00] and for that reason alone, ~like it,~ I don't think it will ever penetrate that market. Maybe companies. Have their own self-hosted version to chat g p t to ~kind of ~integrate into their own system, which actually be kind of cool cause I just, I think that would be great cuz if you've ever been ~like~ in a internal system with ~like~ little to no documentation. If someone could tell me how things work, ~uh,~ that would be amazing. ~Um,~ but ~like,~ The whole person aspect, empathy and ~like, you know,~ all that stuff ~like that,~ that could never be replaced by ~like~ anything like chat G p T. ~Um,~ but I, I agree. ~It's like people,~ people speak with such certainty and it, and it kind of sucks because for people that wanna break into the space, ~it,~ it's very demoralizing. Right.~ Um,~ cuz when, like you brought up that picture, ~uh,~ someone that's new would be like, I, well I didn't know how to make. So does that mean I should just stop trying? And I know in your article it pretty much just says you don't know what the feature is. So just like, why not keep doing what you're doing and learning because you truly enjoy it. ~Right.~ And I think that's ~like,~ A very good ~like,~ message to like end on, right? Because I get that question all the time. It's ~like,~ should I just go to a different career? ~Um,~ but like you said in your article, again, it's like, it's gonna be replacing ~like, you know,~ it's passing [00:18:00] like the bar exam and all this stuff. Anything text based like chat, j p t is gonna know. ~Right. Um,~ so ~like~ what can you do besides just ~like,~ keep on trucking and do your best ~Right.~ Josh: ~And that is, I mean,~ that's the reason I wa I, I don't know if I mentioned this, but I don't think I did. ~Uh,~ the reason I wanted to write this blog, Host was that I was starting to get questions from people who were saying things like, look, I, I really like your content. I'm trying to become a developer. ~Uh,~ but I'm worried that, ~you know,~ it takes a long time to learn web development skills. And it really seems like by the time I get to that level where I can start applying to jobs, the jobs won't even exist anymore because it'll all be robots doing it. ~Um,~ and it just, it felt like such a shame to me that, you know, and I'm imagining obviously every story is different, and this is ~the,~ the average version that might not actually exist. But I'm imagining the person who's ~like, you know,~ they've been really busting their butt trying to get comfortable with this stuff and they see it as their way to ~like~ a better life for themselves. Like maybe they have a job now they don't like, and they really enjoy this programming stuff they've stumbled into, but they see all this, these tweets about, ~uh,~ AI replacing their jobs and now they worry that it's just a huge waste of time. And ~so, you know,~ maybe, ~uh,~ You don't like your current job, but at least you don't. [00:19:00] It. It's within your comfort zone. So you give up on your dream of becoming a developer and you go back to the job you don't like. And that to me just feels like such a shame. ~Like~ there's so much wasted potential there. ~Like~ if you found this thing that you like and if you see it as a path for yourself, uh, don't let people who don't actually know what they're talking about in terms of what the future is going to hold, ~uh,~ dissuade you from exploring that. Because I think the odds are pretty g pretty darn good that these jobs will continue to. And, ~uh, you know,~ and one of the things I say in the blog post is I don't know how they're gonna evolve. ~Like,~ software development is always changing and we're always having to learn new things. Maybe AI will become a really important tool in that. ~Um,~ but yeah, it just, I, I didn't like the idea that people would be, ~uh,~ taking these, ~uh,~ these predictions as fact and making major life decisions based on that. When, ~you know,~ in a few years they might look back and say, wait a minute, there's still a bunch of software development jobs. ~Like,~ and why did I stop pursuing that? So that's the, that was the like underlying reason for that blog. Chris: Exactly. I think it's worth noting ~for the,~ for the listeners is when you see these AI companies making these statements, ~right, it's, it's,~ it's marketing, right? They're trying to make a startup, they want it to [00:20:00] work. Of course they're gonna say these things, ~you know, so,~ so they're successful and~ it,~ it makes sense and I can't blame them for it, but I would. ~Um,~ encourage everyone to do their own research, ~you know, ~uh, Keep doing what you're doing. If you're passionate about it, who cares, right? ~Um,~ I'm a strong believer and in ~like,~ if you work hard enough that success is just inevitable. ~Um,~ so I just wanna make sure ~like, you know,~ I end on that note from my side. ~Um,~ and I know you feel very, you feel the same. ~Um,~ but yeah, I know this is ~kind of ~just like a weird time of just~ like,~ oh, are we gonna get replaced with robots? ~Um,~ and ~I,~ I can definitely like empathize and see like where that angle comes from, especially for people that are breaking into the space. Josh: ~And that is I,~ I've seen this take and I appreciate this take as well. ~Um, You know,~ people say that like one of the hardest parts of being a developer is like trying to intuit what people are ~like.~ You know, you're working with the client and the client doesn't know what they want and you have to ~like~ figure out, ~like~ there's a bunch of things ~like that~ that are, ~uh,~ just like ~they're,~ they're fundamentally human skills. And that ~like,~ even if AI does become an important part of your development stack, there's still the entire ~like~ interfacing with clients who have design [00:21:00] requirements. ~Um, you know, like,~ I do think that there is always going to be, ~uh,~ and ~like~ fundamentally the browser only runs JavaScript, HTML and c s s no matter how that code is being written, whether by ~like~ a person sitting at a keyboard or an AI generating it, you still need to understand what that code is doing in order to debug it and tweak it. And, ~uh, you know, like~ there's just, there's ~uh,~ so many possible futures that we could be heading towards. And so few of them, ~uh,~ don't require developers. Chris: Exactly. If anything, it's just a new tool in our toolbox and we're just gonna work even faster. That's ~kind of like~ how I. Kind of summed this all up in my, in ~like~ in my own mind. ~Like,~ I'm not scared of replacement, it's more just gonna synergize with how I do things. ~Um, so yeah. Exactly. Yeah. So, uh,~ to end on that note, ~you know,~ what are you most excited about in 2023? Josh: Oh, it's a great question. ~Uh, you know, like~ one of ~the,~ the great privileges that I've had with my work now is just getting to work on what I feel like all the time, which is an incredible. ~Um, you know, like~ I make these courses just blog posts. Whatever I feel like working on is what I do. So ~it,~ it's a very lucky position to be in. It doesn't make for a very interesting answer [00:22:00] though, in that, ~you know,~ I'm just gonna keep doing what I'm doing. ~Um,~ I am interested to see what happens with Next 13 and remix and React server components. Like I'm about to start work on the final module of my React course cuz it isn't actually out yet. I had ~like~ an early access thing a couple months ago, but really I'm still finishing it up. And my goal in the next few weeks is going to be, to really get comfortable with these things cause I've only barely started using them myself. ~Um,~ and it's gonna be really interesting to see, like we were talking about earlier, ~like~ how much community adoption there is and how these patterns evolve, ~uh,~ throughout the rest of the year. So that's what I'd say I'm interested in seeing, ~uh,~ what happens. Chris: ~Awesome.~ And anything you wanted to point our listeners to, ~any like shameless plugs or anything you find interesting.~ Josh: Yeah, my blog is josh w como.com. My last name is C O M E A U. ~Uh,~ you can read my blog post there. I also have a list of my courses you can check out on that site as well. Chris: ~Awesome.~ Thanks for speaking with us today, Josh. ~It's~ Josh: ~thanks.~ Chris: ~pleasure. I've been, I've been dying to talk to you this whole time.~ Josh: This was a lot of fun. Appreciate it, Chris. Chris: ~Yeah. Awesome.~ ~Yay.~