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
Before I dive into this idea of mine, I want to tell you, I’ve been scared to write it out. It’s been in my head for a few months, but I’m genuinely nervous to share it with others. I don’t know how you’re going to receive it. Hopefully well, because I’m going for it.
Some of you might know, I was a pretty good college golfer. For about 8 years of my life, my only real goal was to be a professional golfer. That didn’t end up working out (I’m honestly kind of glad it didn’t now, but it really hurt at the time.), but it did provide me with a lot of lessons to draw from that are useful in every day life.
One of those lessons is this: in golf, and sports in general, in order to perform your very best, you have to be able to hold pairs of competing thoughts in your head. You have to completely and sincerely believe both, potentially paradoxical, concepts simultaneously. Here’s an example:
When you are competing and performing, you have to believe fully that if you are on a “hot streak”, that that streak will never end. You also have to believe that when you are having a “cold streak”, that you can turn it completely around on the very next shot.
All hot streaks come to an end. All cold streaks come to an end. Averages exist because, over time, we perform… average. But, if you want to max out a hot streak, get everything you can out of it, the only way to do it is to block out the absolutely logical thing to think, “This could end at any moment.” You must commit yourself to the fact that you cannot miss, that you have the hottest hand, and there is no end in sight. The moment you think about the streak or doubt yourself, it’s likely over.
The same goes for when you’re playing really poorly. If you’re playing badly, it’s likely there are errors upon errors compounding, some mental, some physical, and many of which you don’t even fully understand. But, in order to get out of it, you have to think as positively as humanly possible. You have to block out any thought that says you’re going to continue to screw up as you have. You have to fully believe the fact that you’ll snap out of it, even though there is no evidence at the moment that you will.
I think learning to hold competing concepts in your brain has a lot to do with how you can be successful at any venture, including being a good software engineer.
I have had one of these competing thoughts on repeat in my brain for several months that is helping me keep myself in check. It’s been helping me get refocused and progressing towards my goals. Those thoughts are these:
There are almost 7.8 billion people on the planet, I am completely unique.
There are almost 7.8 biilion people on the planet, I am not special.
I am unique. I am the only combination of these genes that exists or will exist in the known universe. I find joy in the qualities and personal philosophies that make me me. Why shouldn’t I? I believe that the value I offer to the world stems from, at least in part, the unique person I am. I bring something to the table no one else. Not sure what that is, but it’s something. That being said, I can’t let my uniqueness lead to a false belief of superiority or entitlement.
With so many people on the planet, it is highly unlikely that I am actually all that unique. Practically, every combination of person and personality exists. I might work hard, but guess what, there are many who also work hard, many who work harder. I might be smart, but guess what, there are many who are smart, and many who are smarter. If I want to achieve some goal in life, I have to be willing to believe that I am not special, that I don’t deserve to achieve those things by merit of simply being who I am, or believing the things I do. This is the nature of entitlement. That we have earned things we haven’t. Deserve things we don’t. No, I have to be willing to put in the work to achieve those things. If I don’t work hard, at least one of the other 7.8 billion people on the planet will work that hard. Probably even harder.
Now, I’m not suggesting that we all become workaholics, that would contradict the opening of this newsletter. I stand behind what I said. We all deserve breaks. But the work that you need to do won’t magically get done either.
You need to hold two competing thoughts. You are special. You have value. You bring something to the table that others don’t. This will help you find that job, get that promotion, foster a new opportunity.
You aren’t special at all. You’re just another human being, trying to make the most out of their time on this planet. If you want something, you have to do the work to get it. You don’t deserve it just because of who you are.
I have been saying these things to myself a lot lately. I have something to offer companies, people, the industry, the community. I have a unique voice to share and it is worth something.
But I’m also just a person. A person who needs to stay focused, decide what I want in life and go after it, because a great life isn’t just going to appear.
You might need to tell yourself the same. You are special. You are like everyone else. You’re awesome. You’re ordinary.
There’s nothing wrong with holding two, or even three or more, competing beliefs. The key is knowing what belief applies to what. If I say that I’m special and thus deserve a raise without doing the work, then I’m entitled and just an ass. If I devalue who I am as a person because I don’t believe I have anything special about me, then I hurt myself.
I’m guessing that some of you do the same to yourself, too. Remember, I’m not that special. I’m probably not the only one.
Progress Updates
Still trying to come up with a beard related pun for this section. Perhaps something growth related? I don’t know. Anyways, here are some updates to projects I am working on:
Tiny React Component Library to Use With mdx-deck
I had a need to create a custom Provider
component for a slide deck using mdx-deck
. I didn’t want to ever have to write it again, so I made a reusable component. After making it, I realized it didn’t have to be strictly for mdx-deck
, so I refactored it into a standalone React component. The library is called react-edges
. Read the docs, maybe you have a use for it. No biggie if you don’t!
Just Enough Functional Programming Course on egghead
It’s been radio silence for a few weeks on this. The course is done on my end AFAIK. I think they’ve just had a lot going on over there. Gotta have patience with small organizations. I know they’ve been working hard alongside Kent C. Dodd’s for his Testing JavaScript course. “But Kyle, that’s not an egghead course!” You’re right. It’s an individual course, but the underlying platform that’s providing it is something the fine folks at egghead have been working on. It’s going to be awesome to be able to use that to provide folks with quality material!
There’s also an upcoming holiday promotion from that I’m going to talk about in the next item that is probably putting a delay on this. At this rate, I expect it to come out sometime in the new year.
This might prompt me to release the course as an individual unit as well. Something those of you who aren’t egghead subscribers can buy at a fair price. Stay tuned for updates on that.
An Intro to Data Structures and Algorithms for the Holidays!
egghead had a CFCP (call for course proposals) for their holiday season and yours truly had a course proposal selected. I am going to be creating an intro course on data structures and algorithms in JavaScript. I kind of think of it as “whiteboard prep”, but hopefully the material helps you beyond the interview stage of your work.
It’s going to cover structures like queues, stacks, graphs and more as well as algorithms like breadth-first and depth-first search, tree traversal and several sorting algorithms. There’s lots that I won’t to get to cover in this first course, so I’m hoping to make a “Volume 2” some day, but I won’t get ahead of myself for now. I have only a few weeks to get the material for this course put together, so I will be working extra hard on this. Can’t wait to get this material to you in December!
React 101
In the vein of courses and training material, I’ve started the work for creating a course (hopefully courses) on React! I love React and I love helping people learn it. I’m almost done building out the landing page for it and already have several lessons recorded. My hope is to offer it as a standalone course at a fair price.
My goals with the first course is make React very approachable, starting from the very beginning. There are lots of new and exciting things going on with React these days (Supsense! Hooks! Oh my!), but we have to remember, there are still 1000s of people adopting the framework, heck even learning JavaScript for the very first time. I want to create a resource for those people. Once I’ve got a good beginning established, we’ll dive into more complicated material. I’ll release them with names like college courses, so React-201, 301, etc. As far as I can tell, there’ll be no end to course work to release for React for the foreseeable future. Stay tuned for more updates on that.
My Job Hunt
While it hasn’t gone exactly to plan, there are some good things happening on my horizon. I’ve started preliminary interviews at a number of places, and am still talking and reaching out to people. Remember, I’m seeking offers.
I’m doing my best to keep my mind open. I’m realizing just how hard it is to not be judgmental about jobs. I’ve been pretty unhappy the last few years. I really want to find a place I can be happy and solid for quite some time. I’m thinking the job I take next might be the last time I work for someone else. I’m itching to try my own hand at something at some point, but I’d like to get out from under my student loan debt first. That being said, I’d like to end up somewhere that challenges me to grow and is a product I can give a crap about. I’m not someone who can just work on any project and be happy. Just isn’t who I am. Sometimes it’s challenging to find all the things you’re looking for in one place, but I’m hopeful. I’m going on 3 months of not working and I’m getting the itch to get started again.
Alright, that’s what I got!
If you liked this, make sure to subscribe, follow me on Twitter, buy me lunch or coffee, and share this with others.
👋 Hey there! I’m Kyle Shevlin, a front end JavaScript engineer living in wonderful Portland, Oregon with my wife and two cats. I’m an instructor for egghead.io and the creator and host of the Second Career Devs podcast. I’m really glad you read my newsletter and hope we can connect some time. Thanks!