I'm back, with my first blog post in almost a year. Today, I'll be talking about my experience with Kent C. Dodd's Epic React course!
Background
Kent C. Dodds is a name well known to JavaScript/React devs for his blog posts, conference talks, and egghead.io videos. A few years ago, he left his job at PayPal to work as a full-time educator. Epic React is his second premium course, after Testing JavaScript.
EDIT: Shortly after this post was published, Kent announced that a major retooling of Testing JavaScript is on it's way, so keep an eye out for that!
What Did I Expect Going In?
I've always liked Kent's work a lot since I discovered it. I think that he has a knack for boiling concepts down to their barest essence and presenting thoughtful, well-explored takes on a variety of development topics. That said, I didn't love Testing JavaScript. The material is good, but there's not much to set it apart from other courses presentation-wise, at least until the final section on testing Node.js apps. Kent made big promises about Epic React, so despite my not being very enthusiastic about Testing JavaScript, my expectations for this were sky-high.
How it works
The full Epic React package consists of modules that cover how React works:
- React Fundamentals
- Hooks
- Advanced Hooks
- Advanced React Patterns
- React Performance
- Testing React Apps
- React Suspense
- and an especially large Build An Epic React App module that ties together all the material covered in the previous modules.
Also included is a collection of interviews with React experts of various specialties like Rachel Nabors, Michael Chan, and Tanner Linsley.
Epic React takes a different path than other courses or tutorials by putting the expectation of more work on the student's part than the instructor. When explaining, say, the useState
hook, Kent will only give the barest introduction to the concept before the student has to work through an exercise that will teach them the concept and follow that up with extra-credit lessons that expand on the concept and how and when it should be used.
Each module (save for the intro and the interviews) is comprised of video lectures/instructions for the module and a downloadable app that contains more detailed instructions and the code to do challenges with.
What Works Well?
Kent understands React extremely well, and his promise of imparting what he's learned over 5 years into this package is fully backed up. The pedagogical choice of having the student do more work than normally expected in online tutorials or courses is highly effective in terms of making learning stick (as those of us who have had to learn something on the fly for work know well), and the lessons are peppered with hints and other guidance so that the student isn't completely left alone as far as implementation details.
While the focus of the course is on learning React, an unavoidable side-effect of the lessons is learning to write code that's less brittle and more flexible. For devs who haven't spent a lot of time previously with the concepts explored (in the Advanced React Hooks and Advanced React Patterns modules in particular), the course will not just make them a better React dev, but a better software engineer, full stop. Kent remains the only teacher who's been able to make "inversion of control" anything more than a vague and confusing buzzword.
Brevity! Kent keeps the videos and explanations as short as he can, and this is very welcome because I see a lot of online instructors who just don't know when to stop, explain a topic more succinctly, or break material down into smaller chunks.
Production values are high in every aspect of this course: From the look to the applications for each section, a lot of care, work, and attention went into this
Kent stresses the importance of not going it alone to learn better and makes this easier for the student with an active Discord community for folks to pair up and tackle the material.
What Doesn't Work As Well?
Price: I paid $359 for Epic React, which was a launch discount from full price. If you don't live in the U.S., there is a sliding scale of payment to give international devs purchasing parity. While the material is well worth the price and working devs won't have much of a problem with it (especially if their company pays for them), it's a heavy lift for new or unemployed devs during a pandemic.
This is a bit of a nitpick, and this complaint may not last especially long after this time of writing, but I don't love that we're not given much in the way of solving the problem of not rendering components until async data they depend on is ready apart from the Suspense module, given that that API is still experimental. I understand why Kent leaned in this direction, but I wish that a little bit of time had been put towards "here's how to do this without Suspense".
EDIT: After having gone through the entire "Build an Epic React App" section, there is some time spent on this using react-query
.
My Thoughts?
I've gone through most of the course (save for about half of the Epic React App section), and I'm happy to report that my very high expectations were exceeded by Epic React: the course has made me a far more capable React developer, and I now approach writing code in general with a much deeper understanding of what truly flexible code should do. The challenge-focused nature of the course keeps me revisiting sections until I have deep fluency in the material covered there. It's also worth pointing out that Epic React has nowhere to go but up with future improvements that are inevitable.
Epic React is a huge step forward for quality online tech education, and I hope that others are paying attention to what Kent has accomplished here.
Should you get this?
I think this question boils down to your relationship with React. Are you not sure that it's for you, or are you committed to truly mastering it? If your answer is the latter, you cannot afford to miss this course.
Did you buy Epic React? Do you have further questions about this? Let me know in the comments!
Top comments (13)
Just discovered this review! Thank you for taking the time to write it Michael 😊
What did you think of the last half of the "Build an Epic React Application" workshop? I hope that helped address your "nitpick" of components needing async data (specifically the bit on react-query). Even though we build that "useAsync" throughout the "React Hooks" and "Advanced React Hooks" workshops, I wouldn't bother writing my own logic for server cache management because we have react-query to do all that for us.
Oh, and if you like the "Testing Node.js Apps" module of TestingJavaScript.com I have good news for you. I'm going to be updating TestingJavaScript.com to make all modules follow that same format (which you can probably tell is very much how EpicReact.dev is set up). So look forward to that :)
Again, thank you for the kind words! I'm so pleased you were so happy with it.
Thanks for chiming in Kent! Yeah, the async section did clarify that, and I've updated the post to mention that. Part of the problem was that I was neck-deep in an application using Apollo at the time, and I had somewhat overloooked the (very established) pattern they use for 'render-as-you-fetch' in that scenario, and needed to see how that works in other data-fetching paradigms.
How much time it will take to complete if you have good experience with React and JavaScript? looking forward to purchasing it.
Sorry for the late reply! It took me a little over a week or so, but I was between gigs at the time
HI Michael,
You mean 1 week for whole course? or you mean for 1 section?
Thank you so much for the review!
I still considering to bought this course before, and i think i would because your review :)
Great review. I purchased this course (Nigeria) and I'm so glad. Note that if you are an intermediate React developer, you would really struggle in the React Patterns module, this course simply pushes and flogs you off your comfort zone. Great course.
Yeah, those advanced sections are no joke, they really make you level up in those departments!
Exactly. Kent C Dodds is the god of React. Too awesome.
Thanks for the review, was looking to buy this Course and I know KCD is a react expert with succinct style of teaching.
Thanks for the review. I have high respect for Kent and this course has been on my mind for quite some time. I am now convinced: I will buy it. I will report back when I complete it! :D
Would you recommend this course to someone who has just basic idea about React and wants to master it from basics to the end?
If you're certain you want a high degree of mastery with React, then yes, this course will up your React game in a big way.