Hi, I'm Kyle Shevlin, a software engineer and online instructor. This is where I share all the content I create. I mostly write articles and create courses, focusing on breaking concepts down to their fundamentals.

Peruse my blog posts, check out one of my courses (or all of them), and sign up for my newsletter if you like what you read.

If you need to reach out to me, Twitter is by far the best way to do so.

Enjoy your time here and thank you.

Unsure Where to Start?

Try one of these curated collections.

ReactState MachinesFunctional ProgrammingSoftware Engineering

Recent Posts

`useMemo` and Stable Values

0 strokes bestowed

A short explanation on how I use `React.useMemo` to stabilize values for re-renders.

Read More
0 strokes bestowed

Symbolic logic, the study of reducing arguments to an algebraic notation, can be useful knowledge for debugging and reasoning about programs.

0 strokes bestowed

I find Sets and set theory to be a fascinating concept, and one that I find more and more useful as time goes on. I've wanted to write an introductory post on the topic for a while now and hope it might inspire a similar interest in Sets for you.

0 strokes bestowed

Learn the concept of a tuple, an ordered, finite list of items that represents an implicit key/value store, and where you might already be using them in JavaScript.

0 strokes bestowed

Learn how to conditionally use React Hooks by conditionally rendering a "renderless component".

0 strokes bestowed

Learn how to debounce or throttle a callback function with React hooks while avoiding an exhaustive deps ESLint error

0 strokes bestowed

Learn how to use React Context effectively in your web applications by using custom hooks and memoization.

0 strokes bestowed

With the facade pattern, we're able to hide details "under the hood", changing them when necessary without affecting the API exposed by the facade and consumed by the rest of your application.

0 strokes bestowed

If you're using React Hooks, I want to show you a pattern for using them that I think will improve the legibility and organization of your codebase. Let's apply encapsulation to the use of React Hooks.

0 strokes bestowed

Typically, functions are written for their reusability, but I want to convince you that the reason to reach for a function is to encapsulate a concern.

0 strokes bestowed

Disclaimer: This might be a bad idea.

Let's kick it old school and create a custom React hook that takes a callback second argument for setState.

0 strokes bestowed

Recently, I needed to do some debugging to improve a few components that were rerendering unexpectedly. In that process of research and trial & error, I came away with a few useful hooks that I want to share with you.

0 strokes bestowed

I've been struggling a lot lately with my inner self-talk. It's never been all that fantastic but even worse than usual lately. I think this is the result of the difficult year we're all facing and a new venture I'm undertaking that has me really doubting myself. "Great opener, Kyle! Really got us…

0 strokes bestowed

When using a switch statement in JavaScript, we most commonly use the expression as if it's the left half of a strictly equals check, and each case as the right half. What if we set the left half to true, and make each case an expression instead? We would have a form of pattern matching.

0 strokes bestowed

Have you ever heard of the Baader-Meinhof phenomenon ? It's a cognitive illusion where once you become aware of some thing , you see that thing every where. It's called an illusion because the thing was always there, you were just unaware of its presence. I feel like generator functions are a…

Looking for more posts?

If you're looking for more posts, visit the All Posts page.

Let's talk some more about JavaScript, React, and software engineering.

I write a newsletter to share my thoughts and the projects I'm working on. I would love for you to join the conversation. You can unsubscribe at any time.

Just Enough Functional Programming Logo
Just Enough Functional Programming

Check out my courses!

Liked the post? You might like my video courses, too. Click the button to view this course or go to Courses for more information.