And, are they even worth doing anyway?
September 30, 2025 (updated June 4, 2026) · Felipe Vogel · Table of Contents- Some types of coding challenges
- Other activities that are not exactly coding challenges
- Are coding challenges worthwhile?
- If not coding challenges, then what?
To many developers, “coding challenge” evokes technical interview trauma.
But there are many kinds of coding challenges, not all of them dehumanizing. I’ve been making a list of of them over the past few years, which I thought would be worth sharing.
Language-specific examples are mostly for Ruby, JavaScript, and TypeScript, since those are what I’m most familiar with.
Skip below if you want to see my take on whether coding challenges are a worthy time investment.
Some types of coding challenges
Algorithms / interview prep
LeetCode, HackerRank, and many more that are easy to find by looking up “DSA practice” or similar.
For LeetCode in particular, there are many guides and problem sets to help you learn different types of problems.
Holiday competitions
Miscellaneous challenges outside the holiday season
- rendezvous with cassidoo newsletter weekly interview question
- Codewars
- hackattic
Learning-oriented
Language-specific practice
For example:
- Ruby:
- TypeScript:
- Type Challenges
- TypeHero
- Type | Treat (2020, 2021)
Engineering-oriented challenges
- Fly.io Gossip Glomers distributed systems challenges
- Google Hashcode
“Build your own X”
- Online:
- Books:
Competitive programming
Some good beginner guides on Reddit: 1, 2
Code golf
Kata
Not as popular as they once were, but still may be worth checking out.
Programming games
- Language-agnostic:
- Ruby:
- Ruby Warrior (there’s also a browser version, though debugging is harder there)
- SC2AI
- JS:
- Own language:
- CSS games: there are a ton of these for some reason
Other activities that are not exactly coding challenges
In the lists above, I’ve intentionally omitted a few categories:
- Challenges and competitions in adjacent fields like security, data, and math.
- Game programming (e.g. several frameworks in Ruby) and audio/visual creative coding (e.g. Sonic Pi in Ruby) because they are more open-ended than anything above.
Are coding challenges worthwhile?
Not necessarily.
I have a strange fascination with coding challenges. I’ve spent significant time in several of the categories above, and I even created a CLI tool for doing Advent of Code in Ruby.
My conclusion is that coding challenges are a great way to have fun while writing code, and they make sense as a supplement to more structured forms of learning. (Or in the case of LeetCode et al., they’re necessary for FAANG interview prep.)
But coding challenges aren’t the best choice if one or more of the following is true for you:
- Time constraints. You have precious few hours in the week to improve yourself as a developer.
- Marketability concerns. You’re feeling nervous that the developer job market is extremely competitive and job security is only imagined. You want to feel like you’re doing something about it.
- Leveling up in other ways. You want to improve in skills that wouldn’t be exercised by coding challenges. For example, I want to learn more about the internals of front-end SPA frameworks by building my own from scratch.
If not coding challenges, then what?
Publicly sharing your work as a developer is one approach to the above-listed problems, and it can be just as enjoyable as coding challenges. For example:
- Write blog posts (like this one!) and share them on social media.
- Share shorter content too: TILs, or your favorite gems/hacks/resources.
- Contribute to open-source projects that you use.
- And do anything else that shows off your abilities while making a genuine contribution.
This way you can learn and network and do it in bite-sized chunks. Who knew networking doesn’t have to mean stalking strangers on LinkedIn?
More on this other in a future post, but here I mainly wanted to share my list of coding challenges for those of you who do have a spot for them in your routine.