CodeX
Published in

CodeX

How to Improve Problem-Solving Skills as a Programmer?

Understand and create a problem-solving system for your career.

Photo by Kelly Sikkema on Unsplash

The least important skills for a software developer to have are technical ones. You don’t need to learn every syntax, framework, building tool, etc. before applying for a developer job because all of these can be learned much faster on the job. As a matter of fact, even senior developers often Google the technical parts of their day-to-day work.

“The biggest mistake I see new programmers make is focusing on learning syntax instead of learning how to solve problems.” — V. Anton Spraul

Create a Problem-Solving System

Step 1: Understand the Problem

“If you can’t explain something in simple terms, you don’t understand it.” — Richard Feynman

Most hard problems are hard only because you don’t understand them. And how to know whether you understand the problem or not? If you can explain it in plain English to yourself or your friends, then you understand what’s the problem about. Or write down your version of the problem to see the holes you have in your understanding.

Step 2: Divide the Problem Into Smaller (micro) Ones

“Reduce the problem to the point where you know how to solve it and write the solution. Then expand the problem slightly and rewrite the solution to match, and keep going until you are back where you started.” — V. Anton Spraul

Do not try to solve one big problem. Break it into sub-problems. Regardless of an algorithm problem, or a UI component problem, you can always break them into actionable tasks.

Step 3: Still stuck on the problem?

This happens to almost everyone. Remember you won’t learn anything new if you never get stuck on a problem. But the great developers/problem-solvers are more curious and even excited about bugs than worried or irritated. In other words, the problem is the same, but the responses are different between a greater developer and a very junior developer.

The debugging tool is one of the important tools developers commonly use to investigate tech problems. For a backend engineer, an IDE debugging tool is usually perfectly integrated into the code, and for a front-end engineer, Chrome Dev Tool is one of the best tools to help developers quickly navigate all the pages and components.

Don’t forget to Google stuff when you’re stuck for some time.

Work on the Problem-Solving Skills in a Practical Way

If you want to be a great problem-solver, keep solving many problems at your work and some other side projects you work on. If you are a front-end web developer, here are some online JS projects you can work on to practice your problem-solving skills:

Or if you are a backend engineer, you probably favor solving algorithm problems. Below are some popular coding challenges websites you can practice every day:

or you want to enhance your problem-solving skills in system designing:

Conclusion

Once we learned the mechanism and importance of a problem-solving system, we could build our own to transfer it into real-life practice.

--

--

Everything connected with Tech & Code. Follow to join our 1M+ monthly readers

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store