Loading
Interviews with Experts Bonus 25 exercises
interview

Building Deep Skills with Michael Chan

Michael Chan, commonly known as Chantastic, discusses the evolving landscape of React. The conversation took an in-depth look at the changes in the React ecosystem and the skills needed to excel in today's web development world.

New additions like TypeScript and React Query have been game-changers, and both Kent and Michael expressed optimism about upcoming features such as server components and the RSC protocol.

The pair criticized the prevailing trend of focusing on surface-level information, advocating instead for a deeper understanding and problem-solving skills. They noted the value of comprehensive resources like the Epic React workshop, arguing that such initiatives are crucial for fostering genuine skill development.

Finally, Michael and Kent urge developers to find satisfaction in crafting projects that not only meet personal needs but also contribute to a better web. They reiterated the importance of full-stack understanding, even for specialists, and looked forward to a future less driven by monetary gains and more by the joy of creation.

Resources

Loading interview

Transcript

00:00:00 Kent: What is up everybody I'm joined by my friend chantastic Michael Chan Michael say hi.

00:00:08 Michael: Hey. Hello everyone.

00:00:09 Kent: I am so thrilled to be joined by Michael We we just finished having an hour-long conversation before recording. We just enjoy each other's company

00:00:19 Michael: we enjoy each other's company a lot, actually.

00:00:22 Kent: It's so good. So yeah, Michael, I'm so happy that you're here with us. I'm trying to remember, I always like to start off introductions by saying where our paths crossed. And I'm sure that it was on Twitter. And then we ran into each other at, I think React

00:00:42 Conf was probably where we, or maybe React Rally.

00:00:45 Michael: Possibly. Yeah, for some reason I think React Rally, but it might have been React Conf. I'm not sure.

00:00:52 Kent: We go back to like 2016 probably.

00:00:55 Michael: Yeah, I know that the first time I interviewed you was at I think the 2017 React Rally maybe?

00:01:04 Kent: Okay, yeah, yeah. That sounds about right

00:01:06 Michael: it must have been before that but you know probably not too much I don't know

00:01:10 Kent: you're 1 of you've got to be 1 of my oldest friends who are still a friend like that like we still chat and hang out and stuff. Really? Oh yeah. Like all, all the friends that I had in college and high school and stuff, like, I don't really, certainly none of my friends in high school are still, I see it all. Some friends in college will, will

00:01:30 do like a movie night occasionally, but, yeah, I don't have a lot of those. So yeah, I graduated college in 2014. So yeah, you're 1 of my oldest friends.

00:01:40 Michael: That's so funny. I, you know, I have a really weird concept of time. And so it, I miss the part where like new friends become old friends. So all of my friends in my mind are new friends. And so it's just really wild to think, oh yeah, like

00:02:00 2016, 2015, whenever that was, whatever that timeframe was, that's like 8 years ago. Like, that's crazy. It's wild.

00:02:10 Kent: That's amazing. I mean, it's all BC, right? Before COVID.

00:02:15 Michael: So. Before COVID. Yeah, it's like, there's like a 3 year window where it's like time just stopped. Yeah, like I do. We have no way to account for it anymore.

00:02:22 Kent: Yeah,

00:02:23 Michael: it's funny though, because I do feel like during that time, all of my online friendships became, It's hard to, there became like this tactility to them where it's like, I couldn't remember if I'd actually met certain people in real life or if

00:02:40 Kent: I'd just

00:02:41 Michael: like had podcast conversations with them and we just became like fast friends. Like it's really wild, like how, like that time shifted that for me. Whereas like, there wasn't as much of a difference.

00:02:53 Kent: Yes, yeah, 100%. I've had a couple of these interviews, and I'll start out being like, I don't think we've met in person, have

00:03:00 Michael: we? Like... Yeah, like, Cassidy Williams, like, I consider her a great friend at this point and we've never met in 3D. Like we could just be avatars to each other. It's really, really wild.

00:03:14 Kent: Yeah, it's pretty interesting, this internet thing. Speaking of the internet thing, you're on the internet and you have some life experiences too. I wanna get an intro to you. So Michael, why don't you intro yourself to people watching for those who don't know you already?

00:03:31 Michael: Yeah, so my name is, my official name is Michael Chan. I go by Chantastic most places. And yeah, kind of like a weird amalgamation of things. I'm definitely a second career dev, kind of came into this a little bit later in my career, around like

00:03:51 2010-ish maybe. And just really, I had always loved the web and it wasn't really until that time where I had, I was like, you know what, I could probably do this. I could probably just do something that's fun that I like and like make stuff for a living. Like that's a thing that people do, right? And yeah, I just I

00:04:12 really got into it and kind of, you know, through the years I was fortunate enough to kind of get in really early on and react and be able to build a, you know, a react project that was all real time at this job that I was doing at the time. And, you know, kind of in that, you know, it was like late 2013, early

00:04:32 2014, like, like right when it was like brand new and got to meet all of these really cool people and take part in this awesome community of developers and just kind of change the way that the web works, which is really exciting. And so yeah, I had a podcast for a while called React Podcast, and I just have enjoyed

00:04:53 the process of getting to meet some of the, like, you know, funnest, coolest people I've ever met. So yeah, that's that's a little bit of about me and and my intersection with the web.

00:05:04 Kent: Sick, yeah. So that podcast reminds me of podcasts that I've done and the primary reason that I would do the podcast is so I could talk with cool people. And so yeah, you've been able to talk with a lot of people. Also gave you, I'm guessing, a major reason that

00:05:25 you were asked to participate in the React documentary was because you were like the voice of React for all that time.

00:05:31 Michael: Yeah, you know, that was a super fun project. I, you know, Ida reached out to me and said, hey, we want to do a react documentary. And I have this kind of wild idea that, you know, you know, because you spent so much time doing the react podcast that you could be the voice of the documentary. And I was like, that would be like the biggest honor for me. And I,

00:05:51 it was so fun to be able to do, to I think just be a part of acknowledging the incredible work that people had done and like the unlikeliness of React to have become what it is today. I just think that Ida did such an incredible job with that documentary.

00:06:12 It's such a fun story, Especially, you know, what is it, I guess, 10 plus years later now, to hear that maybe it was never going to be a thing feels impossible. React feels like an inevitability now. And I love stories like that. Like, you know,

00:06:32 the story of Nike, Shoe Dog, like, is like 1 of my favorite books because it is like, okay, Nike is eternal, right? Like, it always has been. And no, There was a very long period of Nike not being a possibility at all. And so I

00:06:52 love stories like that. Underdog stories are so much fun. And the documentary does a really good job of that. But yeah, I'd say that that's how we met. I think that we probably have like 3 episodes maybe where we

00:07:04 Kent: just talk about React stuff. Yeah, oh well, and then we've got a whole series on Epic React, podcast episodes too, which is pretty sweet. And then you also appeared on my own podcast. We did 2 episodes back to back, I think.

00:07:19 Michael: I feel like we have like a, you know, between all of those, we got like a full like series. Like just, yeah.

00:07:27 Kent: We just like talking. So, speaking of Epic React, why don't you, by the time people watch this, the announcement will probably be made, but we'll pretend that that's not the case. Why don't you talk about Epic React a bit?

00:07:42 Michael: Yeah, so something I'm really excited about is, you've done an incredible, first, I'm just gonna like gush on you for a second. You've done an incredible job of educating web developers. And it's been so fun to see you developing

00:08:02 your skills of just improving people's life through making the web a better place.

00:08:09 Kent: Aw, thanks.

00:08:09 Michael: It's been really awesome. You've asked me to work on Epic React and put out an updated version. Again, a huge honor. My life is full of these incredible honors, to be asked to participate and work with just really incredible people.

00:08:30 And so, yeah, so we're working on a V2 of Epic React. And that's actually 1 of the reasons we were talking so long beforehand is just kind of identifying, man, like in 3 years, the React ecosystem has changed so much,

00:08:51 down to the level of like the contributors, where they're contributing from, the builders that we use to, you know, bundle react, like the way things are tested, you know, kind of where the new features are being developed it's just like the ecosystem has gone through this huge shift just over the last

00:09:11 you know 3 years I mean even to the point where there's just every day there's like a new better way finger quotes to like do components.

00:09:22 Kent: Yeah, it definitely is a challenge. Like I have mixed feelings about the whole thing because Epic Reacts was launched 3 years ago and it's still like super relevant and super helpful for people. So like a huge testament to React itself and being stable. There are some

00:09:42 methodologies that we don't really do as much anymore because there are better, frankly, there are libraries to do those things better. So like, we teach how to do fetching and components, and then actually in the Bookshelf app, at the very end, we teach how to use React Query instead, which is, you

00:10:03 know, in at the final bookshelf app, we don't do any data fetching in components anymore. It's all happening inside React Query. But still like there are a number of things that are changes, but most of it is still super relevant. But it's also not

00:10:23 in TypeScript. It's not using, or the suspense workshop was experimental at the time. Now suspense is a real thing. And then all of the tools around this, like our build tools and testing tools and everything else. Yeah, things change over time. So I'm super excited that you're

00:10:43 taking on the mantle because I'm working on Epic Web, I can't do it all. And you're gonna do an awesome job with this. So I'm excited for what you're working on.

00:10:51 Michael: Thank you, thank you, I appreciate that. And yeah, it's been really eye-opening. I think 1 of the things that has been really cool to see is to go through the content and realize how well you, you do such a great

00:11:12 job of directing people to look down a little bit. So not just learning at the level that you need to like execute something but like really understanding that level that's like just underneath you don't have to understand the whole world but like understanding just enough like below the surface that you can kind of escape if you get into like a sticky sticky situation And

00:11:32 I think that's been a really rewarding experience going through the content, even having a lot of React experience, kind of learning some of those like, oh yeah, like I hadn't thought about, like I could escape from that challenge this way. And I think that's honestly 1 of the most important skills that we have, or that we develop over time

00:11:52 as developers, is like understanding, oh, I can think about this problem from a different way. Like the tools, everything that I use is some kind of abstraction and sometimes I need to bypass that just a little bit to get to the level that I need to solve

00:12:12 this problem. And I think that's 1 of the really cool things about Epic React and really excited to like continue to share that with people. Because I think it can be really hard in this world to find material that actually

00:12:32 helps you.

00:12:37 Kent: Well said, yes, that was very thoughtfully spoken, but I completely agree. Let's expound on that a bit.

00:12:45 Michael: Yeah, you know, it's tough because I think that, you know, the world is very influencer-centric right now and like SEO-centric. And so a lot of people are trying to find ways to get you into their funnels through not particularly helpful information, like that surface level, like just how

00:13:05 do we catch people when they're Googling the thing and then run them into a pipeline? And I think it can be risky these days to say like, hey, I know that you already have a problem and I'm going to make your problem a little bit worse momentarily so that you fully understand it

00:13:25 and can like fully move past it. Right? Yes. And it's something that is it's not it's not an easy pill to swallow when you're already like on a deadline right and already feeling stressed out about stuff but it's those moments where you you take that opportunity to stretch a little bit and

00:13:45 like grow your understanding that you really develop. Right? Like, I'm overloading that word right now, right? But like develop as a developer, develop as a thinker, as a person. And I really do hope that we can continue to do that

00:14:05 in Epic React to help people be like, hey, you know, you've probably seen a lot of articles saying like, do this, don't do that. And like, this is just how it's done. And like, you're gonna see it the bad way and you're gonna see it the good way. And like, you just need to know how to get out of the problem when you

00:14:25 have it. So I really think you've done an incredible job of developing that content to help people understand React better.

00:14:35 Kent: Thank you. Yeah, I actually, my priority when I'm teaching is retention, and I feel like I want people to retain information that will be useful to them, more than just like, do it this way because this is the way it's done, but do it this way because you understand why

00:14:56 we do it. There's a level of deep understanding. So for Epic Web, I'm working on the WebAuth workshop right now, I'm recording all those videos at the time. And in fact, some of them are exporting on my machine right now. But...

00:15:13 Michael: Testament to those M-series Apple chips.

00:15:17 Kent: That's right, Yeah, we can run all of this at the same time. Yeah, so the thing about the WebAuth 1, 1 thing I'm a little worried about is that people will look at the size of the WebAuth workshop and be like, that seems like too much. Why don't we just use a service, right? Like that's why there are services for this

00:15:37 stuff. But the thing is that even if you, like you can use a service, that's fine. But even if you use a service, if you don't understand this stuff, you are not going to be as effective at using that service. And so like, it is so critical. In my mind, it's so critical for people to really understand this

00:15:57 information to be able to use it effectively. And so yeah, I go to great pains to to make that happen. So I'm glad you appreciate that

00:16:08 Michael: I do and you know, I think you know when you've been through that enough times You realize that it is painful like it always kind of it always feels like a slog but then it's not as bad as you thought it would be on the other side. It's like, oh, okay, yeah, that was rough,

00:16:28 but now I think I kind of understand it enough to know what's happening,

00:16:32 Kent: which is

00:16:33 Michael: better than, I don't know, I had NPM installed and I imported the library and called the function and it's not working.

00:16:40 Kent: Yes, for real. Like that feeling, we've all felt that, where it's just like, it's not working and I don't know why. Or it's working and I don't know why.

00:16:51 Michael: Worse, yeah.

00:16:55 Kent: And so yeah, learning a level down, like you said, is so important. We don't have to go down to zeros and ones. I've done it, it's the worst. It's not fun. We don't have to go that far to really grasp this stuff. But going just

00:17:15 a little bit below your level of abstraction can help you use the abstraction much better for sure.

00:17:21 Michael: Yeah, yeah. You know, it's interesting because I think, you know, we've seen enough patterns kind of come and go at this point, you know, specifically in React, where you realize that you can kind of see those underlying patterns, right? And be like, oh, okay, that's like,

00:17:41 you know, that's delegation or that's, you know, higher order, whatever. And like, you can kind of see them and be like, oh, okay. Yeah. I, like, I understand them on a like programming level and then it feels less magical versus like, you know, it's like, oh, hey, this is the pattern. And like, this is what we use. And I,

00:18:01 I am, I, I am defined by the fact that I program this way as opposed to like, okay, like, you know, you prefer lazy functions versus early functions. Like, okay, cool, whatever.

00:18:14 Kent: Yeah that's true. I found that the more time I spend developing software, the less I care about stuff, about some stuff, like most things. Like it doesn't matter to me as much. But you know, there are other things that do matter to me a little bit more. Or even the fact that it doesn't matter,

00:18:34 matters more to me, you know? Like I'm less inclined to get into arguments about stuff that doesn't matter and that matters to me.

00:18:42 Michael: Yes, yeah, that's, it's huge, right? Like the kind of getting out of that like tribalism is like super important. I know that this is I mean this is a silly thing that I will confess but like I have different prettier preferences for most of my projects that I use and part of it is just as a reminder

00:19:02 of like the specifics don't matter. What matters is that we have an area where we can communicate with other people and being able to speak multiple dialects and not worry about it. Having a preference about tabs versus spaces is fine, but coming

00:19:23 in and your first PR being changing 1 to another, that's not what we're about. And remembering that it's fine to have your preferences, but then at the end of the day, what we're really after is being able to communicate with each other and that these are tools that service communication.

00:19:43 Like that's where the magic happens, right? Like That's where you get to meet really cool people and work on fun projects. And that's the beauty.

00:19:51 Kent: Yeah, yeah, 100%. So I want to talk with you a little bit about the future of React or the big thing that's happening right now. With Epic React, when I recorded it 3 years ago, it was all about suspense and it was released as an experimental feature. Thankfully, most of that

00:20:11 is still relevant today. Like it's, it's when react 18 came out, and those features were official. Most of them were unchanged. Now we're kind of in another interesting spot with React with server components. And so, yeah, I wanna hear your take on server components and the future of React.

00:20:32 Michael: Yeah, so it's really interesting because I think that, you know, 3 years ago, we were all talking about suspense, right? And we didn't really know exactly what it was for. Like we knew it was for, you know, data fetching. We already could use it to lazily load components, which is an awesome thing to do, awesome practice. But then it was kind of like, okay, cool,

00:20:52 we have this concept of suspense where we can lazily get stuff. And it wasn't entirely clear how that was going to be utilized. And so we had these kind of like guiding principles on how we could use suspense

00:21:12 to like fetch data and fetch components at the same time or kind of, you know, how we could like handle rendering asynchronously from like fetching data and kind of like merge it all together. But it was all a very manual process. And so I think that something

00:21:33 that we're seeing right now is this kind of like transition to this RSC protocol, which kind of allows, I mean, it's like, it's such a weird like concept, but basically Like you can render stuff on a server and then send the same type of like DOM manipulation instructions over the wire

00:21:54 to the browser, which is different than just sending more HTML. You know, like there's a lot of hype around HTMX right now. Yeah. In this space, which is kind of this idea of having these, you know, it's as old as, you know, Rails and, you know, all of those, you know, or maybe even ASP.net, you know, whatever their thing was. But the

00:22:14 idea of like marking certain parts of your DOM, or you could make a request and then just get like fresh HTML for those. We're actually doing, we're actually getting those like instructions back and saying like, hey, change this from this text to, you know, from this text to this text,

00:22:34 and change this date, you know, from, you know, this date to this date, and, you know, change the number of clicks, you know, up by 1, but like actually getting that, you know, from the server and like through these like server actions. So yeah, it's a really interesting, it's a really interesting idea, and it's kind of like the fruition of what suspense was like intended to

00:22:54 be, right? And it's very much in this like experimental phase. I think we're just now starting to see a lot of frameworks committing to it. Next has, you know, led the charge in effectively like hiring a lot of the people who are like working on this to

00:23:15 build it into next. But, you know, I know a lot of frameworks are working on RSC integrations, you know, so that includes, you know, Remix and Redwood. And I think it'll be really interesting over the next like handful of years to see like what people's different takes are on it, to see like, you know, what's gonna stick,

00:23:35 what doesn't, and have some, maybe some more, it's exciting to see like what ergonomics people are going to bring to this new capability, I think, for me. Because I think we're at an era in React of framework development. I think up to this point,

00:23:55 it's been a lot of roll your own, or maybe you have a Laravel app and you've just kind of sprinkled in a little bit of React on the top. And so it'll be really interesting, I think, over the next year to see what, like, first-class, like, you know, React architecture, front-to-back, full-stack, you know, client and server integration

00:24:16 looks like and, like, what people's different takes are on that. Because I think it's going to be super cool to work at that level. And I know working on Epic Web Dev, just getting to that point where it's less about technology and more about building stuff.

00:24:31 Kent: Yeah, yeah. Just listen to my opinions. I promise it'll probably be fine.

00:24:39 Michael: Totally, totally.

00:24:41 Kent: Yeah, and that like that's the whole premise of the Epic Stack is just like you can choose so many different options and most of them will be fine, whatever you choose It doesn't really matter as much as you think it does Yeah, and so it given that is the reality then what do you have against just using someone else's

00:25:01 opinions? And moving forward with your life and just building your thing.

00:25:06 Michael: Yeah, you know, you had this, you had a tweet I think recently, might have to find it, but it was about, you put it so concisely and I really appreciated it, but you were talking about off specifically and how like rails has built in off solutions and Laura Vell has

00:25:26 built in off solutions and like react. It's kind of like we delegated to services, I think because it's all, you know, we've been building client-side apps and like it kind of, I don't know, there's maybe like a different line or whatever, but like we just haven't been building frameworks and I don't know,

00:25:46 I need to catch myself here, but like it hasn't been as much of a priority as it has in some of those like full server side libraries. And it feels like an omission now that we're kind of building full stack re-app applications to not have like auth come out of the box when you install the

00:26:07 thing. Yes,

00:26:08 Kent: you know that so I found that tweet that you were talking about. It was yeah just like somebody had said to I have this take where I say most web apps should not use a third party auth service. They should just ship auth themselves. And somebody had said that they'd never

00:26:28 seen anybody building real software with that take. And I was just really taken aback by that. Then they prefaced it by saying, no offense, Kent, but it's like, how is that not offensive? You're saying that I don't build real software. So, Okay, whatever. But anyway, I don't

00:26:48 hold a grudge. He actually apologized later, so it is fine. So anyway, I was just saying that most remix apps are rolling their own auth. Rails and Laravel and Django all ship their own auth. And so I think a big reason why the React community hasn't

00:27:09 jumped on board with this idea as much and that the React community uses third party auth is because they never really had control over their server. They're all just client-side apps. And so, I don't wanna ship a server, but I need to have secure

00:27:29 auth, so I'm gonna use a service, and they're gonna run the server, and they're gonna do the auth, and then I can communicate properly with another service which is where my data is stored or whatever, right? So we just got really used to this world of I'm only in the client, but that's not secure. We have to have some

00:27:49 auth, but I don't wanna roll a server, and so I'm not gonna roll my auth, right?

00:27:52 Michael: Yeah.

00:27:54 Kent: And so we're kinda coming back to what everybody else is doing, which is like I'm rolling a server, but people are just kinda used to using services for auth, and kinda feel like auth is scary. And I remember before React was a thing for me, I built an express server, I'd used Passport JS

00:28:14 and I did Auth myself, it was fine. And then I went on this detour around with client-side rendered apps and with React for quite a while, and I was using Firebase Auth and I was using other services. And then when I come back to the server side with Remix, I remember talking with Ryan Florence and he was saying,

00:28:35 you should just do Auth yourself. Here's the steps, the different things you need to do to make that happen. And I did it in like 2 hours. I was like, wow. I mean, of course it didn't have 2 factor auth. It didn't have like all those different things in 2 hours. But the thing is now, like, I'm sorry I'm talking a lot. I know you have something you want to

00:28:55 say, but I want to add just something interesting. Sometimes people will tell me that, hey, Kent, you don't have a good measure of your value of time. Like, you don't value your time very well. If you're working on all of this, spending all this time implementing auth, well, you could just use a third-party service and move on with your life. But for me, I'm building

00:29:16 like instructional material and I'm building a framework that people can use from the get-go, I'm building libraries. And so I'm not just investing, like saving time for myself, I'm looking at all the people who are watching this right now and all the people going through Epic Web and I'm thinking how much time I'm saving them. Because they can just boot

00:29:36 up a new Epic stack and they have two-factor auth and third-party like O-auth and all of the other things just from day 1, right? From the get-go. Yeah. And so, Anyway, I definitely have feelings about land rolling off and I think that most people should be doing that.

00:29:52 Michael: Yeah, you know, it's interesting because it's like the, it is very much a side effect of Jamstack. I mean, I, I guess, right? Like it, we had this JAMstack notion. I think it is less in favor than it was. I think maybe to the point that JAMstack is probably a

00:30:12 retired Jersey. I think that we got what we needed from the concept and we have moved on. But yeah, I think that there is like so, there are so many services that allow you to stay strictly in the client side, But it does feel like we are seeing

00:30:32 a renaissance of people controlling their server. And it's going to be, I think it's going to be really interesting to see how all of that stuff works. I mean, especially, I think that's the thing that I'm most interested in RSCs for is just, you know, React used to be a really great way

00:30:53 to build half of an application. And it feels like now you really can't, You know, it's so funny too, like the idea that, you know, real people don't hand roll their own auth. I have only worked at, or like real software, I have only worked at companies that like had their own

00:31:13 auths, like these predated these services. So It's kind of like hilarious, the idea that real software, like so the real software that we built in the last, you know, like 5 years. Like, yeah, but yeah, like and coming from a, you know, more Rails background, It's like, yeah,

00:31:33 it was like, you know, I built my Rails app, I installed, I can't remember, devise maybe it was, was the the library and, you know, I mean, sure I was using a library, but I wasn't using a service.

00:31:47 Kent: Uh-huh, Yeah, and that's exactly the way I think it should be. That you should be using libraries. And eventually a lot of the stuff that is built into the Epic stack will be moved over into libraries. That's already started happening. Yeah. Sometimes when I say, I think you should roll your own auth, people are like, oh, okay, so you're gonna write your own crypto.

00:32:07 Like, no, no, that's not what I mean by that. I just mean I don't want to pay somebody per user.

00:32:13 Michael: Yeah, yes. Yeah. And that's like I think that's I mean, now we're talking about like business, but I think that that is like such an interesting thing. I think that those strategies, like, I don't think there's anything wrong with using a service, but like knowing what you're in for is really important, right? Like, you know, because if you

00:32:33 know that you can spin it up and like, you know, buy X number of users, have enough money to make it worth it still when you start getting paid, like, that's great. Like, you know, make your decisions. But, you know, if you don't have that plan, like maybe control your own destiny a little bit and

00:32:53 not, you know, I don't know. There's so many reasons to make that decision, I guess.

00:32:59 Kent: Yeah, yeah. So there was a couple of years ago, you were talking about working in rails and everything. And I remember a couple of years ago, I was listening to you were a guest on a podcast. I can't remember which 1, but I was mowing the lawn and you said something about like, more people should

00:33:19 be full stack or you should have more control over the whole stack, something like that. And I remember at the time I was way into JAMstack stuff. And I was like, Michael, I love you, but I super disagree. I just feel like that full stack developer does not exist. It's too hard to do

00:33:39 all the things, and you should just specialize and focus. And that was my epic React days when I was just like, yeah, we're gonna go hard on React and that's what we're doing. And then Remix shows up and changes everything for me. Where all of a sudden I can specialize in the full stack.

00:34:00 Which just blows my mind. So you weren't there when I said that mowing my lawn, but I apologize. You were right. We can do the full stack. It's amazing.

00:34:12 Michael: Isn't it so beautiful that we can disagree and still like each other? It's amazing. There's so much evidence to the contrary these days, but you know, we figured out how to make it work, Kent. Yeah, you know, it's, it's, I think something that I hope for

00:34:32 everyone who is getting into like web development. Is that they get to build the things that they wanna build. I think that's why like, that's what got me excited about the web is like, the first thing that I built on the web was a single PHP page that connected to it was a single file, right? I

00:34:52 bought a cheap server. I put a single PHP file on the Internet that had a form, and when you hit submit, it would take a was it a New Year's resolution? It was like for me and my friends. Like I just wanted to collect New Year's resolutions. I didn't even have a way of viewing them except for like looking into the MySQL database via cPanel

00:35:12 or something like that. And I still like think about that as like the pinnacle of web development, not like that specific thing, but like the idea that I could make something that anyone could use from anywhere

00:35:34 that made us happier and like our lives a little bit better. And I think that, you know, we've gotten so far into the commercial side of web dev, but I really do think that there's this renaissance of us just building the stuff that we like again.

00:35:54 And I think that's what I hope. I just hope that people have lives that are fun and meaningful and memorable for themselves. And I think that building software for your needs is a superpower. And we forget sometimes with all of

00:36:14 the, you know, trying to make, you know, money on everything. We possess this superpower that allows us to look at our lives and be like, what's something that I could solve for myself today? And that's like, That's a beautiful thing. And I think that, unfortunately, for

00:36:35 people who just want to learn 1 part of the stack or become a specialist professionally, you do have to either depend on services or know a little bit more, like enough full stack to be able to at least, you know, protect, you know, protect a single route from intruders. And, you know, like, I guess, like,

00:36:55 be able to use an authentication library in a database. But I don't know, I feel like, I feel like there's some some really fun things on the horizon as people get better at coding and we kind of get to maybe our like post-consumer era of the web where not everything is about monetization and we can just be like, hey, I made this thing because

00:37:16 it makes me happy.

00:37:18 Kent: Yes, yes. I think more people should do that, for sure. And I love Remix because, for me, it made that more possible. Where before it was like, okay, I'm super solid on the front end piece. It takes like a jumble of nonsense to integrate with some third party database provider

00:37:38 and everything like that, but I can make that work. Whereas now I just feel like I have so much more control over my own destiny. And I don't need to ask permission to ship stuff. And it's not just because I have more experience, but like Remix just totally changed the game for me. Yeah. And I have said before,

00:37:58 I'll say it again, Remix tricked me into becoming a full stack developer. I came in and I was like, I'm going to build a sick front end. And all of a sudden I'm like working with databases and stuff. And like, yeah, I haven't done that in a while.

00:38:13 Michael: Oh man, that's so great. Yeah. Tricking front end developers into full stack since, you know, 2020.

00:38:19 Kent: Yeah. Yeah. That's right. And then do the same in reverse too. Like some people will come in traditionally back-end and find themselves building like pretty excellent and interactive UIs that they never built before. Yeah. Like people who are just used to building single file PHP apps, right? Yes. And now they're able to like make

00:38:39 some really cool interactivity in a way that's actually maintainable and they enjoy working in.

00:38:45 Michael: Yeah. And I think that that is, we talked a little bit about the specifics of like, you know, what RSCs like technically are, which, you know, I'm still kind of like a little bit fuzzy on, but like, I think that the practical part of that is what I'm excited about, right? There is a return to

00:39:06 full stack, but not in the like full stack, like at scale kind of idea, but like full stack as in I can make those silly things again and control the whole product, right? And I think that that's what I'm excited to see is like those,

00:39:27 see more ideas like come to light because people have a framework that allows them to do it top to bottom again, as opposed to kind of stitching a bunch of, you know, services together. Again, nothing wrong with that, but I think there is an incredible freedom. Like, we haven't yet

00:39:47 gotten back to the glory of a single PHP file that like sits on a server and just like sends data to MySQL.

00:39:56 Kent: Yeah, you know, we're about out of time, but Remix V3 is that future that you're looking for.

00:40:04 Michael: Yeah.

00:40:04 Kent: It is gonna be like, seriously, single file. This is your server and away you go. Like the stuff that I've seen that Ryan has shown me, I'm really looking forward to those days. That'll be pretty sweet. Right now it's just a bunch of like conventional routes and files all over the place, but I think we're

00:40:24 going to get there and it's going to be sweet.

00:40:26 Michael: Yeah. And I, you know, honestly, that's what I'm most excited about. I think that there's this, there's this moment that I want to like connect that full circle where it's just like 1 file on the internet and like, man, when we can get there with react, like I, I'm going to be happy camper.

00:40:44 Kent: Yeah. Yeah. Yep. Yep. Well, and, and even like figuring out a way to do that without a build tool, but still get all of the stuff that we're looking for, that'd be sweet. But right now it might be like 1 file plus 30 config files. Right? So.

00:41:00 Michael: The true nature of JavaScript.

00:41:02 Kent: Yes, welcome to the wonderful world of the web. Yeah, well, Michael, this has been such a pleasure to chat with you as always. Is there any other things that we didn't really talk about that you wanted to bring up before we wrap up?

00:41:16 Michael: No, this has been awesome. I love kind of talking about what we love seeing in the world. And, yeah, I think I just hope that as people are going through Epic Web that they don't forget to just build stuff that they enjoy. I think that the greatest things that we've ever done are things that really

00:41:36 just made us happy probably. And so, yeah, I hope that people take what they learn from Epic Web and explore and have fun and kind of engage their curiosity and solve a need that, you know, for only themselves and just make

00:41:56 the web a better place through joy alone.

00:42:00 Kent: Yes, yeah, fill the world with joy. Awesome, thank you Michael, and thanks everybody for watching. Hope you have an awesome time with Epic Web. See ya!