Felipe Vogel · Felipe Vogel

And, are they even worth doing anyway?

September 30, 2025 (updated June 4, 2026) · Felipe Vogel ·  Table of Contents

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

Learning-oriented

Language-specific practice

For example:

Engineering-oriented challenges

“Build your own X”

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

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.

Read the original on fpsvogel.com ↗