How to become a better problem-solver

Photo by Tim Gouw on Unsplash

How to become a better problem-solver

As a developer, you are always solving problems, in some way. I might be bold enough to state that web development is at its core all about problem-solving. Let me explain:

What is problem-solving?

Problem-solving for a web developer could mean a few things, here are some examples:

  • Developing an app/webpage that suits the needs of the end customer.

  • Delegating tasks requires efficient communication with team members.

  • Finding and resolving code flaws, bugs etc.

  • Meeting a client's limited timeline.

With that said, problem-solving is a crucial part, of every part, in web development. So what to do to become better at it?

How to work on solving problems

Problem-solving, like any other talent, requires practice to implement and perfect.

It's easy to believe that becoming a better problem responder entails solving more problems quickly. That is not correct; it refers to the ability to identify the best answer to an issue and then implement that solution.

Learning to do so is a wonderful method to improve as a worker generally. While soft skills are more difficult to acquire and develop than hard skills, there are some tips and techniques that can help you improve your problem-solving skills in particular.

Solve problems on many platforms

Solve as many issues as possible while focusing on various kinds of problems on various platforms.

This is helpful because it stops you from becoming accustomed to a single problem-solving technique or framework. As we all know, there is no one-size-fits-all solution to the issues we face in this field of software development.

When you practice solving multiple types of issues on various platforms regularly, it reinforces the reality that you can't always depend on the same method to handle every problem. It teaches you to be adaptable and to select the most effective tool or framework for each task.

Solve Problems Outside of Work

As problem-solving is a talent that needs exercise, you can (and should) work on it even when you are not at work.

There are many enjoyable methods to exercise problem-solving, such as doing math or logic puzzles, working crossword puzzles, or playing a game like chess.

There are also numerous opportunities to exercise problem-solving as you go about your daily activities. Have you broken something around the house? Make a DIY repair using your problem-solving abilities. Do you need to settle a disagreement with an acquaintance or family member? It's time to put your problem-solving skills to the test.

How to solve the problem

With that said, you might want a more hands-on way to solve a problem. This framework, made by Tom G. Stevens: the author of "The Systematic Problem-Solving (SPS) Method" is something I try to use as often as possible.

STAGE 1: EXPLORATION OF THE PROBLEM

In this first step, one tries to gather all of the information we can about the problem. Try to understand what the problem is, what the result should be and what the benefits of solving it would be.

STAGE 2: EXPLORING ALTERNATIVE SOLUTIONS

Gather all the best information you can about possible solutions. Do some brainstroming, seach on StackOverflow for people who have overcome similar problems, read relevant material like documentation or GitHub issues, ask in chat forums like Slack or Discord, and recall your own relevant experience. Look at both internal and external solutions.

STAGE 3: CHOOSING THE BEST ALTERNATIVE

Try to make a list of the best solutions, and evaluate each alternative. This is to shorten the number of solutions to the problem, you don't want it to be all about trial and error.

STAGE 4: PLANNING AND ACTION

This is where the actual work starts, taking the solutions found and making them work in your project. This probably starts with another mind map or a flowchart, maybe also writing some pseudo-code. Then write the code what might be the solution.

Hopefully, you have, by following these four steps, found a solution to your problem. And you can move on to the next one; but don't forget to celebrate this victory in some way that you enjoy (but that's a whole other post...).

Sources
https://www.developers.dev/tech-talk/software-development/5-problem-solving-skills-every-software-developers-should-have.html
https://home.csulb.edu/~tstevens/wsps.htm