Kyle Shevlin

Software Engineer

Welcome!

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 a post in one of these tagged collections.

ReactState MachinesFunctional ProgrammingSoftware Engineering

Recent Posts

My Course Platform

How and Why I Built It

0 strokes bestowed

I am about to launch a course platform of my own making at courses.kyleshevlin.com. It is not fancy. But it is my own. Learn how and why I built it.

0 strokes bestowed

UI Libraries are great for having a solid design system to build from. Here's a small architectural decision I would do to make them even nicer to work with.

Tags
ReactJavaScript
0 strokes bestowed

Factory functions help us quickly create objects. They make use of closures to have private values and functions, all while avoiding the this keyword. Learn how to use them in this article.

0 strokes bestowed

Recently, I helped a small team fix a performance issue involving React Context. It was a fairly simple fix that I want to share with you. I'm going to set up the problem, show you the small change we needed to make, and share a small library I made to help you out in the future.

0 strokes bestowed

People are often confused by useRef. Let's try and fix that confusion by comparing it with useState.

0 strokes bestowed

JavaScript closures are confusing for some, but they do not have to be. Learn what a closure is and why they are a powerful tool to have in your programming repertoire.

0 strokes bestowed

React state can be updated in two ways: replace the currentState with the nextState, or transform the currentState to the nextState with a function. Prefer the function.

0 strokes bestowed

Learn how to increase the flexibility and testability of your programs by passing dependencies in as function arguments alongside default parameters.

0 strokes bestowed

Discriminated unions in TypeScript can go awry when you use object or array destructuring. Learn why it happens and what you can do to fix the problem.

0 strokes bestowed

Since the advent of React hooks, I have seen a pattern emerge that I think is less than ideal. I've started calling it the “naked state setter” pattern. Let's find out what it is and how to avoid it.

0 strokes bestowed

React and modern JavaScript gives you the freedom to structure your React projects however you want. Learn how I structure mine.

0 strokes bestowed

I recently did a code review for an aspiring developer and instructed them to “get rid of the ‘magic values’ in their code.” It dawned on me that it might not have been obvious what I meant, so I figured I would take a few moments, and paragraphs, to explain.

0 strokes bestowed

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

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.

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.

Array.reduce() Logo
Array.reduce()

Check out my courses!

Liked the post? You might like my courses, too. Click the button to view this course or go to Courses for more information.
I would like give thanks to those who have contributed fixes and updates to this blog. If you see something that needs some love, you can join them. This blog is open sourced at https://github.com/kyleshevlin/blog
alexloudenjacobwsmithbryndymentJacobMGEvanseclectic-codingjhsukgcreativeerikvorhesHaroenvmarktnoonandependabotmarcuslyonsbrentmclarkfederico-fiorinimedayzDoNormal
©2021 Kyle Shevlin. All Rights Reserved.