Kyle Shevlin's Newsletter

Archive

A New Mini-Course and Course Platform

Hey there!

It’s been a while since I’ve written a newsletter to you. In that time, I’ve written a bunch of blog posts, spoken at a conference, and made a whole, new mini-course all about the reduce method for arrays.

“Kyle, where can I, or a friend, find this course?”

I’m glad you asked. You see, during my absence from the newsletter, I also built my own course platform at courses.kyleshevlin.com. It’s going to be the home for my courses going forward.

#19
December 3, 2021
Read more

Using Hooks to Break Apart Component Logic

Hello there! 👋

Recently, I’ve been building a lot of new features and hooks for work and it’s really got my brain gears turning. 🧠⚙️

So many of the concepts that are useful for writing good software in general can be related to and taught by writing React Hooks. I wanted to start with one that I’ve been doing a lot lately: decoupling my component’s logic from its UI.

When done properly, breaking apart the logic and the UI allows me to achieve things like proper encapsulation of a concern, reusability, the ability to contextualize an interface to particular use cases, and more.

#18
May 19, 2020
Read more

My XState course is now free on egghead.io!

Hey there 👋

I wanted to take a minute and give you the heads up that my XState course on egghead.io is now a free community resource. That means it’s available to anyone and everyone. If you haven’t checked it out, please do. If you have, share it. Here’s the link:

#17
May 4, 2020
Read more

Recursion and React

Hey friends! 👋

Whenever I teach someone React for the first time, I take the time to demonstrate React without JSX by first using React.createElement().

“Why would you do that Kyle? No one uses React that way in a real app,” you say.

#16
February 20, 2020
Read more

Check Out My Newest Egghead Course!

Hey friends,

Hope this finds you well! Wanted to send you a quick email about something I worked very hard on. My latest course is released into the wild today! 🎉 It’s my “Intro to State Machines and XState” course on egghead. Check it out here.

I’ve been interested in state machines ever since I first heard about them in 2017 and am excited that I get to share this knowledge with all of you. The course covers:

#15
December 18, 2019
Read more

⚠️State Machine Workshop Imminent and Boolean Complexity

Hey folks,

This the last email I send you about my online State Machine workshop on Wednesday. If you’re interested in attending, you can get your ticket here.

However, it is not the last time I’ll write about state machines. The more research I do to get prepared for the workshop, the more ways I realize how state machines are the best solution to a variety of common problems. One of those problems is the complexity of managing multiple booleans in the same scope.

#14
November 11, 2019
Read more

🤖 What do you know about State Machines?

Hey everyone,

I’ve got my head down, working hard on finishing up all the material for my online live workshop, next week on November 13th. It’s going to be great. Have you gotten your ticket yet? Get one right here.

In the mean time, if you’re completely in the dark about state machines, let me share some resources with you.

#13
November 4, 2019
Read more

Announcing my State Machine and XState Workshop

Hey everyone!

I’ve been hard at work for the last month or so putting something together for all of you. I’m excited to share that I will be releasing a new egghead course for the holiday promo all about State Machines and the XState library. It’s going to be awesome!

#12
October 24, 2019
Read more

Ever wanted to add Algolia Search to your Gatsby site?

Hey everyone!

Recently, a reader of my blog asked if I could add a search feature. Honestly, I never knew my blog needed it until that moment! I had no idea what it would take to build the feature, but I set off on building it. To my surprise, it was easier than I thought it would be.

I used Algolia to make that happen and wanted to write about the process. Check out my latest blog post to see how I did it: .

#11
September 23, 2019
Read more

Just Enough Functional Programming is LIVE!

Hello friends!

As the subject line says, my new course “Just Enough Functional Programming in JavaScript” is LIVE on egghead. Please check it out, share it with your friends, and tweet about it.

#10
March 22, 2019
Read more

Update to the Course Release Timeline

Hey everyone!

Mere hours after I sent out my newsletter yesterday, I got word that the timeline for my new course has been moved up to drop this Friday, March 22nd! Now you’ll be able to start learning functional programming even sooner. I have no doubt that you can learn everything over the weekend and start using it on Monday. Voilà!

Again, be on the lookout for a tweet on Friday announcing the release of the course. Even if you’re a seasoned functional programming aficionado, you can pass the word on to your friends. I’d appreciate it!

-Kyle

#9
March 20, 2019
Read more

Did you know curry was a verb, too? 🍛My new course on functional programming is about to drop. 💧

Hey everyone, it’s been a while since I sent y’all an email. A lot has changed since then, but I’ll have to tell you more about that another time. Today, I have something special to share with you.

In 2017, I started to get interested in functional programming. The rise of React and Redux led to a renaissance of this programming paradigm. The talk of it was everywhere, but it took a lot of work to learn even some of the basics. I took the time to learn those fundamentals and started giving a talk in 2018 I called, “Just Enough Functional Programming to be a Danger to Yourself and Coworkers.”

I loved giving this talk. I loved seeing people’s eyes light up as a new concept made sense and they saw how simple it could be to get started with functional programming.

Now, I’m a bit sad that I won’t get to see eyes light up when that light bulb goes off. That’s right, you’re going to get to learn all that material from me. Virtually.

#8
March 19, 2019
Read more

My First Egghead Course Just Dropped!

The day has arrived! 🎉 My first egghead course ever is now published: Intro to Data Structures and Algorithms in JavaScript.

I am so stoked to get this project done and make it available to you. Learning the concepts in this course have made me a more confident programmer and I think it can do the same for you.

#7
November 29, 2018
Read more

How Computer Science Kept My Project Afloat

Back in 2016, I was working for a small company building digital interactives with web technologies. Most of the time, I worked on projects for museum kiosks and things of that sort, but this particular project had me writing code for a cruise ship. The project consisted of a giant 4k touch screen where up to four guests at a time could scroll through carousels of the various ports they were going to visit on the trip. The user could then click one of these port cards and a large detail view with more info about the port would appear in the UI.

This interaction, selecting the port and displaying the detailed information in a different part of the UI (this was pre-Portals) turned out to be an expensive operation. My test data was only a few dozen items in an array, but the cruise ship was storing hundreds of these ports. Once we got some real test data (which you should try and get as soon as possible in your work), you could see noticeable jank when the user made their selection. The lookup of the info was too slow. What could I do?

Lucky for me, I had started to study some computer science fundamentals and had learned a bit about big O notation and tradeoffs in performance we make with arrays and objects. I won’t go into the details as I have already talked about this in a blog post a while back, but knowing that the lookup speed for on an array is an operation, i.e. linear time, and doing so for an object is an operation, i.e. constant time, helped me make the right decision to change my collections from arrays to objects. This solved the performance problem and was a big win for the project.

#6
November 26, 2018
Read more

My Sincere Thanks to You

Hey everyone! It’s Wednesday evening, and off the cuff, I just wanted to take a moment and express my gratitude for all of you. I appreciate you giving me the privilege of dropping in your inbox from time to time. I hope it’s worth it for you.

Tomorrow is Thanksgiving in the United States, hence all the thankfulness. I hope you all are well. I know for many of you, this is a fantastic holiday with great food and great people. May it bring you gladness and joy.

For those of you that find this time of year stressful and painful, I feel for you, too. Holidays can be tough. Family can be tough. Life can be tough. May you find some peace in this time wherever and however you might need it.

That’s all I got, folks. Stay safe and stay warm.

#5
November 22, 2018
Read more

The Importance of Competing Thoughts

Hey everyone! If you’re wondering why I didn’t post a newsletter the last few weeks, the answer is simple. I went on vacation! My wife and I went down to Southern California for about a week to attend a wedding, see some family, and most importantly, get some time to rest to ourselves. We stayed a fun little resort in Escondido. I got to play some golf, she went to the spa. It was great.

Honestly, it was our first vacation where we had any time to ourselves since getting married. We didn’t have the time or money to really do this kind of thing before. We’d always travel to see family and call it vacation, but it was hardly relaxing. Ensuring we got time for ourselves was crucial, and it was made all the better because we learned how to really budget it this year. Stress and shame free rest is the best. Take breaks, my friends! You deserve it.

Enough of my unsolicited life advice, on with the newsletter!

The Importance of Competing Thoughts

#4
October 29, 2018
Read more

The Role of Timing in a Job Hunt

If you read the last newsletter, then you know I’ve started to hunt for a new job. I shared with you several tips on how to make that hunt go better for you. We talked about how shifting our mindset to “seeking offers” instead of “getting a job” puts us in a position to “explore” rather than “judge”. We need to explore many paths and options when trying to find the next step in our career. This week, I’m going to continue to discuss the job hunt by sharing an anecdote from this week and how that might relate to you.

When I initially put the word out that I was looking for a job, a friend I made at React Rally 2017 reached out with a great opportunity. The position was for a company whose product I really respect. I could see myself actually caring about it and even evangelizing for. I don’t say that about a lot of products. Their technology stack fits perfectly with my skill set. It was a Bay Area company (good salary 💰) but I could work remotely (no relocation 👌) which is, in my opinion, the best combination. Not to mention I’d be working with a friend.

We schedule a time to hash out the details of the position. The day comes, we chat, and we feel really aligned. This could be a great fit. He starts working it up the chain to his manager. Gets the go-ahead to proceed from them. Works it up one more level. Gets the go-ahead from them.

#3
October 1, 2018
Read more

How to be More Successful in a Job Hunt

How to be More Successful in a Job Hunt

If you follow me on Twitter, you may have seen this tweet go out into the universe. I’m in the process of exploring the next part of my career and asking you all to help me do that by spreading the word. Don’t think spreading the word can make a difference? It totally can.

Just this past week, a junior dev I’ve been helping in his job hunt landed his first dev job succeeded. I used my network and made a tweet promoting his background, skill set, and hard work and it paid off. A company reached out to him, he nailed the technical interview, and now he starts in a few weeks. All because a tweet connected some people! Trust me, spreading the word can help, and I’d appreciate whatever support you could show me (if you haven’t already. Much love to all of you who have!).

#2
September 18, 2018
Read more

The First Beard-o-gram: Three Tips for New Coders

The Very First Beard-o-gram!

Welcome to my first newsletter! I’m incredibly honored that you subscribed. I was legitimately surprised at the response I got when I made the announcement of my newsletter. Thank you for that. It means a lot.

A One-Time Extended Intro

One of my core principles, something I try to follow in every aspect of my life, even when it gets me in trouble or leads to bad consequences, is to be honest. I want to be honest with you about what purposes this newsletter will serve.

#1
September 4, 2018
Read more
Brought to you by Buttondown, the easiest way to start and grow your newsletter.