Courses

Over 350,000 students have enrolled in my courses on Udemy, Pluralsight, and Teachable. The core concept of my courses is "Don't Imitate, Understand."

Most courses focus on the student copying what the teacher is doing. This means students fail in the real world when faced with new situations or errors. My courses focus on deep understanding that stands the test of time, makes you a better debugger, and allows you to face new challenges confidently.

The Courses

With all my courses you get lifetime access, all source code, and a certificate of completion.

Understanding React

Deeply understand React by diving under-the-hood of React's source code and breaking down React internals.

Even if you've used React for years you likely have an inaccurate mental model.Build and debug React better by understanding how it really works. Covers Fiber, Hooks, Context, Suspense, a final project, and more. React 19 content coming soon!

Understanding HTML and CSS

13,000 Students | 18 Hours


Most web developers don't know HTML or CSS very well, hurting the SEO, accessibility, and maintainability of their websites and apps. Learn semantic HTML and CSS at the browser-rendering engine level. Future-proof your skills by learning to read the HTML and CSS specifications.

How to Build the Right Software (and Choose the Right Stack)

New course! How can you control scope creep and technical debt? How can you pick the right stack? How can you solve the right problems?

This course is for devs, designers, team leads, project managers, and anyone who impacts what software is built.

I cover real world examples, practical techniques, there’s practice quizzes, and a free PDF worksheet. A fast, immediately implementable set of hard-earned wisdom and best practices built over 25 years as a dev, manager, and UX designer.

Learn and Understand NodeJS

132,000 Students | 13 Hours


Learn how to use NodeJS by learning how it (and other JavaScript runtimes) really work.

Team Dynamics and Soft Skills for Developers

The missing dev education. Bootcamps and universities don't teach you how to survive in your day-to-day interactions with dev team members, or deal with unique dev team stresses. This course shows you how to understand, communicate, and interact with your dev team members.