Skip to content

Keeping My Skills Sharp

About a week ago I found out that my job as a Staff Engineer was eliminated as part of restructuring at Wayfair. This was the 5th time something like this had happened during my nearly three years there, so it wasn’t a complete shock.

As I dive into the job search, I wanted to find a way to keep my skills sharp. I really don’t like “grinding leetcode” as the kids say, for a few reasons. Leetcode skills are not the same as real world skills, and I want to do something that improves my real world programming abilities while also being fun. I’m fairly confident in my abilities to pass a technical interview, so I don’t feel the need to spend all my time on that.

My Goals During This Transition

During this job search period, I’m particularly focused on keeping my backend development skills fresh, exploring technologies I don’t use every day, and pushing myself to understand systems I typically just use rather than build. I want challenges that are both educational and engaging enough to keep me motivated. I also like having a structured course or project to help guide my learning and to keep engaged when I’m not interviewing or applying for new roles.


Learning Options I Considered

Building my own side projects

Of course I could just build something, and I am doing that too. I’m working on two different projects, one of which is a CLI written in go that will be an opensource tool for analyzing chess games using any UCI chess engine. The other is a web app in TypeScript that is also chess related. My main goal with these projects is to increase my skills with AI programming tools and to try to use the tools to write most of the code instead of using the tools as a fancy autocomplete. I’m exploring aidr, repomix, claude code, and windsurf.

Execute Program

Execute Program is an online learning platform from Gary Bernhardt that uses the science of spaced repetition to help you learn and remember programming concepts. There are courses on Python, Javascript, Typescript, SQL and regular expressions. The lessons are short and you’re just meant to spend a few minutes a day on them.

Pros: Science-backed learning approach, bite-sized lessons, built for experienced developers looking for a new skill

Cons: Execute Program is really for learning a new language, and I don’t think it’s exactly what I’m looking for right now. If you wanted to spend 15 minutes every morning as a warm-up to your day, I think this would be a great option.

Price: $39/month or $235/year

Boot.dev

Boot.dev is a platform that’s aimed at learning backend software development through building projects. There are courses in go, algorithms and data structures, sql and a lot more.

Pros: Project-based approach, focused on backend development

Cons: Boot.dev is really aimed at beginners and most of the material is not particularly challenging for someone who has been programming for a long time.

Price: $49/month or $348/year

Coding Challenges

Coding Challenges is a weekly substack that gives a new coding challenge every week. The challenges can vary quite a bit in complexity, from building your own URL shortener to building a Chess Engine. There’s some background and a few steps to get you started, but you’re mostly on your own. There are also some bigger courses such as Build a Redis Clone, which is a 6-week course that meets 3 times a week.

Pros: Wide variety of interesting projects, can choose based on interest

Cons: I want something a little bit more structured than this. I don’t think you can complete a lot of these challenges in a week which I think would frustrate me. It’s a great resource for ideas though.

Price: $8/month or $80/year

codecrafters.io

Codecrafters is another project based learning platform. Each project is in the form of Build Your Own X. Each project is broken down into multiple stages that you can work through at your own pace and in one of many different languages. As you commit code and push to their git remote, it will run tests based on your current stage.

Pros: Structured projects, multiple language options, builds real-world tools

Cons: None for me so far

Price: $120/quarter or $360/year


Why I Chose codecrafters.io

I decided to try codecrafters.io for several reasons. First, the “Build Your Own X” format directly addresses my goal of understanding systems I use but haven’t built. Second, the project structure offers guided learning without being too prescriptive. The stage-by-stage approach with automatic testing gives me both freedom and feedback.

I’ve started the Build your own SQLite project. I’m a few stages in and can start to parse a sqlite db file and read the schema. I’m really enjoying it so far. The project is challenging, but they have plenty of information in the stage, plus links to the right documentation you need to read to get through it. The last time I had to implement any part of a database was in college, so I’m refreshing old skills and learning more about a tool I’ve been using for years.