This site runs best with JavaScript enabled.

🚨 Big Announcement: I'm a full-time educator! 👨‍🏫

I've been teaching for as long as I can remember. I talk about this a lot in "Why and How I started public speaking" , but just know that I have a love of teaching, I've done it a lot, and I want to do more. This is why I'm excited to announce that I've gone full-time educator! What does this mean…

Read →

Intentional Career Building

I've been thinking a lot about this newsletter and what I want to do with it. One thing I want to do is provide you with some specific ideas of things you can do to improve your skills and get what you want out of your career. So today I'm going to give you a few ideas of things you can do to be…

Read →

Static vs Unit vs Integration vs E2E Testing for Frontend Apps

In my interview "Testing Practices with J.B. Rainsberger " available on TestingJavaScript.com he gave me a metaphor I really like. He said: You can throw paint against the wall and eventually you might get most of the wall, but until you go up to the wall with a brush, you'll never get the…

Read →

useEffect vs useLayoutEffect

Both of these can be used to do basically the same thing, but some are more optimal than others. So here are some rules for you to consider when deciding which of these React Hooks to use. useEffect 99% of the time this is what you want to use. When hooks are stable and if you refactor any of your…

Read →

Testing Implementation Details

Last year when I was using enzyme (like everyone else at the time), I stepped carefully around certain APIs in enzyme. I completely avoided shallow rendering , never used APIs like instance() , state() , or find('ComponentName') . And in code reviews of other people's pull requests I explained…

Read →

When to use Control Props or State Reducers

You’ve probably used components or elements that implement the control props pattern. For example: Read more about the concept of control props in the react docs . You may not have had much experience with the idea of a state reducer . In contrast to control props, built-in react elements don’t…

Read →