Solving a problem in a challenging cut-off time requires meta-skill and to possess such skill is not easy. As a developer, you might have faced numerous problems. And, you might have applied various methodologies to solve them. While you may have solved many easily, some may have given you a tough time.This is probably how you solve problems:

- Try a Solution
- If that doesn’t work, try another one
- If that also doesn’t work, repeat step 2 until you luck out

Frankly, sometimes you luck out. But that is the worst way to solve problems! And, it’s a huge waste of time and energy.

But, there are steps, which you can always apply whilst struggling with a problem as a developer.

Let’s start!

### Understand the problem

You should know exactly what is being asked. Most problems seem hard because you don’t understand the exact requirement. Do you recall being stuck on a problem, you then start explaining it, and suddenly you see the holes in the logic you didn’t see before?

Yes, most programmers know this feeling!

This is why you should write down the problem or doodle a diagram. Let’s understand this with an example. Let’s say that you need to make a program asking a user to input 3 numbers, and then the program returns if the number is odd/even, for every number that the user has put in.Although, this problem is not complicated but it’ll be enough.

Let’s see how you can approach it.

### Plan and divide the problem

Never dive right into solving the problem without a plan. Always plan your solution! Like, it’s always typical to solve 1 big problem. But when this problem is divided into 3 parts, scenario to solve the problem becomes easy.

So, let’s continue with the problem we discussed above. How do you make the program? You can divide it into three functions. In first part, focus on getting input from the user. In second step, try to find out if the number is odd or even. Lastly, in the third step repeat the same process on three numbers.

After dividing the problem, go to the last step.

### Solving the problem

In the last step after solving those divided problems, just connect them. You can solve many big problems if you make a habit of practicing “micro problem-solving.” It’ll be only a matter of time before you recognize that practice is the key to solve any problem. When solving problems, you will realize that – Stack Overflow, Git Hub, and all the other websites, blogs that teach coding are your best friend. Use them as much as you can.

### Conclusion

At **PECS**, our team tries to divide a big challenging problem into smaller problems that becomes easier to solve, and when they are done with them, they connect all of them into one application. With every solution, we try to improve.

Our 20+ years of experience has taught us how problem-solving is an incredible skill to cultivate and what it means “to think like a programmer.”

Every programmer has trouble in solving problems, even the experienced ones. By pushing through those problems you learn, not by giving up.