How to tell if your coding practice is really making you a better problem solver

Most software engineers spend hours practicing for interviews, but is it actually working? Learn how to tell if your coding habits are making you a stronger problem solver.

How to tell if your coding practice is really making you a better problem solver

No matter where you are in your engineering journey, one question always lingers: is all this practice actually working?

It’s easy to feel productive when you’re churning through LeetCode, solving problem after problem, or building side projects. But just being busy isn’t the same as getting better. The real question is whether your practice is sharpening the skills that count.

Understand the difference between doing and practicing

Solving a lot of problems doesn’t automatically make you a stronger problem solver. 

Think of a musician who plays the same song every day. They’re keeping their fingers moving, but they aren’t building range, exploring new techniques, or stretching past their comfort zone. They’re playing, not practicing.

Many SWEs fall into the same trap. LeetCode and similar platforms encourage repetition for the sake of completion. The “green check” becomes the goal. That mindset shifts your focus toward finishing instead of learning. You can rack up hundreds of completed problems without improving your ability to reason about new ones.

Real practice is uncomfortable. It requires slowing down, analyzing what’s happening, and deliberately tackling weaknesses. If you’re breezing through problems without ever pausing to reflect on why a solution works or how you’d apply it to a different scenario, you’re not practicing. Improvement often feels like friction. It becomes harder precisely because you’re targeting skills that need improvement.

Here’s a quick test: when you think back to last week’s practice, can you name a specific skill you worked on? If the answer is, “I solved 20 problems,” that’s activity, not progress.

Test whether you can explain your approach clearly

One of the strongest indicators of progress is how well you can communicate your ideas. Clear communication isn’t a separate “soft skill.” It’s tightly linked to your ability to reason about code. If you can walk someone through your solution in plain English,  it shows you understand the logic behind your choices.

Engineers who struggle here often reveal fuzzy thinking. They can write code that passes, but they can’t explain why their approach works or how they’d adapt it. In interviews, that gap shows up quickly. On teams, it leads to misalignment.

Next time, try explaining your plan before you code. Imagine you’re talking to a teammate who hasn’t seen the problem yet. Can you walk through your approach without skipping steps or falling back on “you’ll see when I code it”?

Try delayed coding as a self-audit

Another way to check progress is to separate thinking from implementation. Instead of writing code as soon as you see a problem, start with an English-language description of how you’d solve it. Write it down step by step, avoiding pseudocode. Then set it aside.

Try this routine:

  • Day 1: Write an English description of how you’d solve a problem.
  • Day 2: Use your notes to implement the code.

This delayed approach forces you to test whether your original reasoning was clear and complete. If you can turn that write-up into working code, it’s a good sign your thinking was solid. If you get stuck, you’ve found a gap that you might’ve missed in a faster workflow.

Measure depth, not volume

A lot of engineers track progress by numbers: how many hours they practiced, how many problems they finished, how many lines they wrote. But those numbers don’t always tell the full story.

Measuring depth matters more. Ten well-studied problems can teach you more than a hundred rushed ones. If your practice is leading to new insights or better patterns, not just faster completions, you’re making real progress.

Accept that progress feels slow

Real growth often feels slow. That’s not a flaw in your process; it’s how skill-building works. Problem-solving is less about short-term memorization and more about building durable habits of reasoning.

If you’re frustrated that progress isn’t faster, remember that consistency beats intensity. Practicing with intention every day, even in small amounts, builds more than occasional marathon sessions. 

Get holistic interview prep with Formation

The Formation Fellowship gives mid-level and senior engineering job seekers everything they need to land their dream roles — including personalized skill brush-ups, resume help, unlimited mock interviews with experienced software engineers and hiring managers from top-tier tech companies, career and negotiation support, and more. 

If you’re having trouble navigating your job search on your own, apply here and get unconditional support from a team of engineering mentors, technical recruiters, career coaches, and more.