When Kent C. Dodds describes himself as a “full-time educator,” it’s almost an understatement. The creator of Epic Web, TestingJavaScript.com, and countless open-source contributions has built a career not just on technical expertise, but on something increasingly rare in tech: a genuine commitment to lifting others up.
From his early days representing TC39 at PayPal to his current work exploring the frontiers of AI integration through MCP (Model Context Protocol), Kent has consistently positioned himself at the intersection of cutting-edge technology and practical teaching. He’s a former Google Developer Expert, Microsoft MVP, and GitHub Star—though, as you’ll discover in this interview, those accolades aren’t what drive him.
What makes Kent’s perspective particularly compelling in 2025 is his willingness to challenge the prevailing narratives. While the industry debates whether AI will replace developers, Kent advocates for a different focus: becoming more human, not less. While others chase the latest framework trends, he’s thinking about what developers will actually need to know to serve users effectively.

In this wide-ranging conversation, Kent opens up about the tension between teaching and learning, the future of web development frameworks (including why he’s so excited about the new Remix), and why he believes the next generation of developers should be spending less time perfecting their resumes and more time speaking at meetups.
Whether you’re a seasoned developer wondering how to stay relevant, an educator trying to integrate AI into your teaching, or someone just starting out and feeling overwhelmed by how much there is to learn, Kent’s insights offer both practical wisdom and a refreshing dose of humanity.
This isn’t your typical tech interview. It’s a masterclass in what it means to build a sustainable, fulfilling career in an industry that never stops changing.
1. You describe yourself as a “full-time educator” whose mission is to make the world a better place by teaching people how to make quality software. What does “quality” mean to you in the context of modern web development, and has that definition changed over time?
For me, the purpose of software is to automate processes that would either take so long that our users wouldn’t be able to do much else, or would be prohibitively time-consuming—or really just impossible. Quality software is software which does that the very best.
If you’re shipping software that has bugs, that’s not going to do that very well. If you’re constantly having to manually test all of your code to make sure that it doesn’t have bugs, that’s not going to be as good either—so you want to have automated testing, static code analysis, and practices that scale well as your product offering reaches more users and has more developers on it. All of those things feed into what quality software is to me.
Has the definition changed over time? No. Quality software is software that delivers on the promise of improving the user’s experience in accomplishing a given task. That task can be something that’s a productivity thing, or it can be something that’s a social thing, or for fun—whatever. But yeah, it’s how well the software delivers on that promise.
2. You spent countless hours early in your career mastering JavaScript to become an expert—eventually representing TC39 via PayPal. How did that journey shape your view of software standards and the evolution of the language?
In some ways my focus on mastering JavaScript—solely JavaScript—has limited me quite a bit in not being able to see or be influenced by other languages. But it also has allowed me to go really, really deep on JavaScript, and I understand JavaScript very well—at least the parts of JavaScript that are really relevant for web developers.

Being on the TC39 and being in those meetings, taking notes in those meetings, contributing to those meetings, has definitely helped me appreciate the variety of use cases that JavaScript has. It’s probably, of all languages, the most used and deployed language in the world. So it was interesting when I was in the TC39 to see the number of stakeholders there were, and the situations that they had deployed JavaScript in—putting just a huge amount of constraints on the language.
I’m amazed at how well JavaScript actually is able to evolve. For a while there it evolved at a really rapid pace, but now it seems to have kind of slowed, and I don’t think that’s necessarily a bad thing.
3. From your values of Kindness, Sharing Knowledge and Collaboration, which has proven the hardest to maintain consistently in the fast-paced world of open source, conferences and online courses—and how do you stay accountable to it?
Collaboration has been kind of tricky since I went full-time independent, so I don’t have coworkers. I pretty much just have open source people that I work with. I have also slowed down considerably on the amount of open source work that I do on more general projects. I’m still very active in open source on very specific projects, like the Epic Workshop app—I spend a lot of time on that. But it’s really specific to me and a couple other instructors who teach on Epic Web.
I collaborate a lot with the team that manages my course platform, Skill Recordings. They do a ton and we collaborate a lot together, but yeah, that’s probably suffered the most since I went full-time independent.
Sharing knowledge—I definitely don’t have any problems with that. I share knowledge a lot. Accumulating knowledge is the challenge. Sharing knowledge is just kind of a natural thing for me. But accumulating that knowledge is difficult and it changes a lot. What I want to accumulate knowledge about has changed a lot with the age of AI, and that sort of thing has been tricky.
Kindness is always a challenge for sure. But it’s a challenge that I love to constantly improve on. I do feel like I have gotten better at that as I get older.
4. You’ve created courses, written libraries, spoken globally, and built community. How do you decide which of these avenues to prioritise at any given time—and what’s your guiding principle when choosing the next big thing to focus on?
My target audience is basically me if I decided not to go full-time educator. When I decided to go full-time educator, I was at PayPal working as an individual contributor on the web platform for a team. I learned a lot about how to serve product developers, which is what I was right before that.
So I imagine myself: if I hadn’t decided to go full-time, I’d probably still be kind of in that architectural space thinking about how to help the product engineers be more effective. When thinking about my teaching, I think, “What would Kent need if he didn’t go full-time educator? What would I need to know? What could accelerate my ability to not only help product engineers, but also do product engineering myself?”

I look at the landscape and see what are the best tools available for building web applications, and what are the types of things that web application developers are going to need to do. That is how I decide what I should be focusing my efforts on.
Once I’ve decided that, then I make the decision on what tools I want to get really good at so that I can teach those things. Then I build a project based off of those things. Once I have accumulated that knowledge—which does take a lot of time and effort, building projects, building libraries, actually using the software on real things that I have users for—then I turn that into talks.
What naturally flows out of that is I’m going to be speaking at meetups and conferences. I’m regularly invited to conferences and they don’t really care what I’m going to speak about lots of time, so long as it’s relevant to the audience. They just want me to speak there. So I just talk about whatever I’m actively working on.
As part of all of that process I’m also building a community about the thing that I’m excited about as well. When I was working on Remix and things, I was finding people who are also interested in it and giving them opportunities to collaborate and contribute and building them up in ways that I can.
Then, once I’ve really accumulated that knowledge and I’m sharing at conferences and blog posts and podcasts and stuff like that, it naturally leads into creating a course on that. I do a live workshop, I sell tickets, people come—typically it’s going to be a virtual thing. Then, once I’ve solidified that, I record videos and I publish it as a self-paced thing so I can reach more people. That’s kind of the flow of how I do all of that.
5. The ecosystem around frameworks like React, testing libraries and tooling is moving very rapidly. What upcoming shift in front-end architecture are you most excited about—and conversely, which one concerns you?
The thing I’m most excited about right now is Remix. Remix version 1 and 2 were based on React and then that evolved into React Router version 7. So then the Remix team decided to take the Remix brand and make something completely new. Originally they forked Preact—they decided to build it not on top of React. Eventually they built their own reconciler and all of that stuff. So that’s where it’s at right now.
The primary motivation there is they liked React when it was before hooks, basically. They want to kind of go back a little bit on that, but also take composition to the events level and use closures a little bit differently than React does. And also even go back from reactivity—instead of changing this state value and it re-renders, you actually are explicitly re-rendering, like we did in the Backbone days.
What made Backbone difficult was not explicitly calling update or triggering a re-render, but was a myriad of other things. The approach that they are taking is the most interesting to me. Also, I know Ryan and Michael personally, and those guys are just really, really good at what they do.
They’re going beyond just the UI stuff. They’re doing backend stuff as well, and they’re also having first-class packages for highly needed components. I’m certainly most excited about what Remix is doing.

I’m also really excited about MCP and how the entire user interaction model is changing with AI. I think that Remix has a part to play in that. React, of course, has a part to play in that as well.
On the testing side of things, tooling—there is a lot going on in the tooling space, and that’s exciting to me. Lots of things like Bun has a built-in test runner and other tools. I think they’ve got linting and stuff like that. Of course, Vite has their Vite+ thing that has all of this stuff put together. There’s Biome and everything.
I’m kind of a late adopter on things that I’m not actively working on. Early on in my career, I was way into new JavaScript syntax and linting and testing and all of that stuff, so I was using the latest of all that. Now I don’t really care quite as much about that stuff, and so I’m going to be a late adopter to some of those things because I don’t have enough cycles to be an early adopter on some of that stuff. So that stuff doesn’t excite me as much.
But MCP, definitely that’s something I’m cutting my teeth on as an early adopter. I think that it’s going to be a big shift in the way that users interact with our software. And Remix, I think, is also going to be a really big shift in the way that we develop our software as well.
6. Many developers struggle with testing and code-quality practices. Given your experience, what is the one misconception about testing you most want to dispel?
I think I’ve mostly dispelled this pretty well over the last couple of years, but the number one thing that I want to dispel is to avoid testing implementation details. Too many people, especially when I started on this crusade, were testing implementation details.
That means, like in a React component, you’re reaching into the component state and asserting on its state and you’re calling methods and stuff—things that users of the components cannot see or touch or do anything with. Avoid testing implementation details. It’s definitely the one misconception around testing I want to dispel the most.
7. You emphasise collaboration—not just code contribution but sharing credit and building community. In your view, what are the most effective ways a solo developer or small team can grow into a community-centric mindset?
Some things that I did was I would reserve issues for first-time contributors only. Some issues on my repos, it’s not really critical necessarily that we get it implemented right away. We can take some time on it. So I would say, “Yeah, if you’ve contributed before, that’s awesome, but I want to get somebody into open source.” And so I would hold their hand, guide them, tell them exactly what to do so that they could get their first contribution to open source.
That really helped to build a community because you get those people who maybe they don’t necessarily use the project a lot, but they’re just interested in contributing and they’ll stick around and contribute. And then they do start using the project and it becomes a really cool symbiotic sort of thing.
Also having a place where people can collaborate helps. So if you’re a small team and you’ve got a Slack or something, opening that up to the public or maybe making a Discord server where people can have a place to talk—that helps a lot too.
I gave a lot of talks early in my career about managing open-source projects that you could take a look at as well. I think my talk was literally titled “Managing an Open-Source Project,” so you can take a look at that if you want to dive deeper into some ways to do that.
8. As someone who transitioned from doing “lots of JavaScript for companies and side projects” to full-time education and open source contributions, what advice would you give to someone thinking of making a similar shift in their career?
For me, going full-time as an educator was not a leap of faith, but a natural next step. I spent a lot of time after hours working on the open-source stuff and building out courses. I would actually write blog posts on the job when it was relevant to my coworkers. Sometimes somebody will ask a question in Slack and you’ll write this multi-paragraph response to explain to them how something works. I would do that except I would put it in a blog post and link them to that.
It wasn’t really on the clock, but it did build out my audience, and so when I did have something to sell, I could reach out to the people on the mailing list because of the blog posts. So that is something I would definitely be doing—building out your audience.
I just spent a ton of time in the evenings recording videos and stuff. I would create the workshops in the evenings after hours, and then I would actually deliver the workshops to my coworkers for free—of course, I’m not going to charge my own company. But I would deliver those workshops to my coworkers to practice them. That helped a ton. So then when I went to record, I knew what I was going to say and I knew that it was really good.

We launched TestingJavaScript.com while I was still at PayPal, and it did super well. In fact, I made more from that than I did from PayPal. So it was not a leap of faith to go full-time educator. It was just, “Obviously, I don’t need two PayPal salaries. Both of them are going to take care of me and my family. Choose the one I enjoyed doing more.” And it was the full autonomy of doing my own thing.
The advice that I would give is start working on building that audience right now. Give them a reason to give you their email address.
9. You have stated you still need to “keep up” with JavaScript even after feeling you achieved your goal of becoming an expert. How do you manage the tension between being a teacher (who should have answers) and being a constant learner (who must embrace not-knowing)?
I’m not sure what advice to give on embracing not knowing. You just have to embrace it. You just—it’s okay to not know things. The JavaScript ecosystem just by itself is vast. And then you have to go beyond that into databases and potentially even other languages and deployment. It’s a really, really big thing. It’s not just JavaScript. It’s web development.
JavaScript does evolve. TypeScript evolves as well. And then what evolves a lot faster is the ecosystem around it. So you are always—nobody is going to be an expert in everything because something comes out tomorrow that makes us all total beginners again. Just acknowledge that. Embrace that. Don’t try to pretend that you know more than you do. I think people can see through that.
One thing about being a teacher and having the answers—I think that it is important for people to perceive you that way if that’s what you want to do, to be a teacher. And so, in that way, that means you have to respond to people’s questions and be very willing and open to answering people’s questions.
I run office hours on a weekly basis so that people know that, “Hey, Kent is there. He’s answering questions. He must know what he’s talking about.” So there is knowing what you’re talking about—that’s number one important—but then there’s also people knowing that you know what you’re talking about. That is also very important, especially as an educator. Or even as a regular engineer, you need people to know what you know so that you get the opportunities that you’re looking for.
10. Given your background, including coaching others and building tools, how do you foresee developer productivity and tooling evolving over the next 5-10 years? Which skills will be indispensable?
Man, there’s no way I can tell you what the world’s going to look like in five years. In two years, goodness. Things are just changing so fast in tooling and everything. Just two years ago, ChatGPT couldn’t even reach out onto the internet—it still had knowledge cutoff dates—and now we’re doing all kinds of stuff. Five years ago, ChatGPT didn’t exist, and LLMs were just not a thing that people used. So it’s impossible for me to tell you how things are going to evolve.

But I can tell you that you will be in a better place in the future if you work on your skills and your abilities—not just in using AI tools, but in understanding how the web works—than if you don’t. I can say that with pretty good certainty. Understanding how things work on the web will make you better off than if you don’t. So go learn how all that works.
11. You mention you never had a sip of alcohol or coffee (for religious reasons), yet you engage fully in global conferences, travel and networking. Are there habits or routines you rely on to stay grounded, focused and effective in such a demanding environment?
Yeah, I have not had alcohol, coffee, tea—herbal tea is okay—but it does make things kind of interesting sometimes at conferences. I typically will have people reach out before the conference: “Hey, I want to go grab a coffee.” It’s never been a problem. I’ll go and I just get a hot chocolate or something.
As far as routines to help me stay grounded, I honestly feel like not having alcohol and coffee is the routine to help me stay grounded. I am not affecting my body in any way to make me less aware of what’s going on around me and stuff. So I don’t know—it helps me stay focused to not hinder my body by taking those things into my body.
I would say my code of health is the way that I accomplish this.
12. With the rise of AI, generative tools and shifting paradigms in software delivery, how do you see the educator’s role evolving—and what will developers need to do to keep their careers future-proof?
I think that educators who don’t use AI in their education are making a mistake. Software developers are using AI to develop software, and a major skill that software developers need now is the ability to evaluate the generated code that the AI has created.
I have actually not changed the way that I present or prepare my material. I still have the code comments in there that tell people what they’re supposed to do, and I still have the background information to explain why they’re doing that and all of this stuff. The AI takes that and it spits out almost exactly the right answer.
The goal for the learner is to evaluate whether that is the right answer and make sure that they understand it. And then I use the AI to quiz them. So the AI has all the context of the exercise, the transcript of the videos and all of that. And the learner can ask, “Hey, quiz me on this exercise,” and it can ask them questions about it and get answers and make sure that they understand things. I think that that is an important aspect of learning. I use MCP for that and it’s fantastic.
What will developers need to keep their careers future-proof? I think knowledge is what they need. And that’s a little self-serving as an educator—I know—but I keep seeing and hearing people say, “You know, you don’t need developers anymore or whatever,” but we just keep seeing that is not the case.
I do feel like the better you understand the technologies that your AI is using, the more effective you can use the AI. So continue to develop that skill set and the knowledge and also learn how to use the AI tools effectively.
13. You’ve been recognised as a Google Developer Expert, Microsoft MVP, GitHub Star, and a contributor to TC39. Which recognition meant the most to you personally, and how did that shape your goals afterwards?
GDE was the first one that I got and that meant a lot to me at that time. It was pretty cool to be recognized, to be invited to participate in that. I didn’t ask for it. Same with Microsoft MVP—I didn’t ask for that. GitHub Star, same. Contributor on TC39, I didn’t ask for that one either. So I guess, yeah, I didn’t ask for any of these.
But I think probably being on the TC39 meant the most to me, just because I was still pretty early in my career. I’d only been a software developer for like three or four years at that point after having graduated from school. So it just felt like, “Wow, this is pretty cool that I managed to jump into this and make such a big impact.”
How did it shape my goals? I don’t really have goals to be recognized by programs like this. It is cool, and I definitely appreciate it. But as an example, I don’t do anything to hang on to these titles. Most of the time these require some level of reporting on the impact that you’re making. I do not report. And so I got let go from the GDE program because I just didn’t report any of the blog posts that I write, talks that I do, videos I make, courses I create, workshops I give. I just do way too much, and I’d rather spend my time doing more of that than reporting on that stuff.

I’ll probably get let go from Microsoft MVP. This is the first year that I got that. I’m not sure what’s required to stay a GitHub star. I literally don’t know. There was actually an email just this morning I got about renewing your GitHub star status. I just got mine so I don’t think I have to do anything, but I didn’t even look. It doesn’t matter to me anymore.
If I was invited to be on the TC39, that would be cool, but I probably wouldn’t, because I’m just too busy doing other stuff. If I were invited to be on the MCP Steering Committee, I might actually do that, because that’s something that I care a lot about, and I think that it has a really big potential, and I would like to help shape that. I actually have been to a Steering Committee meeting before with a proposal.
I guess I’m most interested in participating in things where I can actually make an impact.
14. From your unique personal background (you have 11 siblings, you wrote a 50k-word novel in a month, you can still do a backflip), how do the non-tech passions and quirks inform your approach to software development, teaching and community building?
I think you gotta bring the whole person. We are not just single-purpose, single-minded individuals. Being your entire person is an important aspect of living.
Right now my biggest passion is my family. I now have six kids, and I want to spend as much time with them as possible and make the world as good as it can be for them. It motivates me a great deal.
How does it affect or inform my approach to software development? I don’t know. It probably does, and I just don’t recognize it. It certainly makes me a happier, more fulfilled person to be more than just somebody who creates code. Hopefully that is useful and helpful.
15. Finally: If you could give one piece of advice to the next generation of developers—those just entering the field and worried about being “behind” or “replaced”—what would it be?
I always say to this question to be nice. I’m going to add to that: to be human, to be very human and to make real-life connections with other people. If you can, do that in person as much as possible—conferences, meetups, brown bag lunches at work, whatever.
I’m not advocating necessarily for everybody to return to an office. I clearly don’t work in an office. Well, this is my office, but I don’t work at an office building. And I don’t think you necessarily need to do that. But you need to meet people in person to differentiate yourself from the AI.
Especially if we’re looking at applying for work or whatever, you are competing against tens of thousands of other resumes that were generated by AI that are being filtered by an AI. There’s no chance. You have no hope in that. But if you meet the hiring manager, or you meet members of the team, or you’re contributing to their open source projects and they’re actually really useful, valuable contributions—that is going to do a lot more for you than just coding in your basement by yourself, building what you think could be the next big thing.
If that’s what you’re doing, more power to you, but you have a lot more opportunity to do the things that you want to do by knowing people and being nice, being the kind of person that they want to work with.
I often say that you hear that it’s not what you know, it’s who you know. No. But that’s not it either. It’s who knows you and what they know about you.
I have established that for myself by being the person up in front speaking to the conference or the meetup. And that’s what I recommend for people to do. I’ve had a couple people just recently tell me that they followed that advice, they spoke at a meetup, and they got a job out of it. That’s how I’ve gotten several of my jobs as well—speaking at meetups.
My entire teaching career was kicked off because I spoke at a meetup, and John Lindquist saw that talk recording and invited me to make that a course on egghead.io.
So yeah, be nice and be up in front, and be human. That is my advice.
I want to give a massive thank you to Kent for taking time out of his day to produce such an in-depth and thought-provoking interview for Cybaplug.net. His insights into the world of Software are truly unique and I am excited to see what comes from his latest work!
If you want to see the Video Interview that Cybaplug.net has done with Kent, make sure to either click the image or the link below!
Kent C Dodds: The Video Interview
Hi I'm Olly, Co-Founder and Author of CybaPlug.net.
I love all things tech but also have many other interests such as
Cricket, Business, Sports, Astronomy and Travel.
Any Questions? I would love to hear them from you.
Thanks for visiting CybaPlug.net!






