What I've learnt: How to get unstuck

ยท

3 min read

Problem solving is an essential skill for any developer/software engineer. Like any other skill, it is possible to improve by repetition. The more problem solved with increased difficulty over time, the higher probability that the same problem will occur - and it is more likely that a person will have learnt a way to recognize certain pattern to solve certain problem. This process takes time. When a new type of problem arises, it is understandable that a person might get stuck because it requires a perspective change or a different thought process to solve it.

Getting stuck can be sometimes frustrating, especially when the problem is time bound. It's kinda like when you reached a new level in some puzzle game (Candy Crush) and just couldn't get through the level. Learning how to get unstuck is an essential in a software engineer's career. Here are some that I've learn:

Identify the problem ๐Ÿคจ

The first step to solving a problem is to identify and understand the problem. This is crucial to get unstuck. There's a saying "Knowing your problem is half the solution." What is the problem? How big/small is the problem? How quickly does it needs to be fixed? What is the root cause? It'll be handy to write it down on a document and form a problem statement.

A problem statement defines the gap between your desired goal and the current state of things.

Once something is scoped out, it will be easier to start asking question around the problem.

Ask for help ๐Ÿค•

Once there is a problem statement, it will be easy to communicate. Asking for help is a straightforward way to solve a problem, because there's 7 billion people in the world: Someone somewhere have probably encountered the same issue and probably found a decent solution.

Even if the person you asked for help have not yet seen such a problem, it can develop into a brainstorming session and a problem can be solve in a collaborative effort.

Take a break ๐Ÿ

Sometimes when we are too focused on a problem for days or even weeks, we start to only see it from a certain angle.

And all that's required is to just take a break and leave it for a bit. Go for a walk or do something entirely different to disconnect and come back refreshed - the problem will look ridiculously easy to solve. It's like the solution is so obvious.

The Internet ๐ŸŒ

We live in a great era where Internet exists and is already easily accessible by everyone. Google and Stackoverflow are basically every software engineer's best friend. These are the 2 main sites that I have personally used to get unstuck a lot of times. Most of the times, these two sites would suffice. Google is a great search engine to look for anything which will "magically" redirect you to another website, often Wikipedia for detailed information. Stackoverflow is a great online community to find and contribute to technical questions.

Did you find this article valuable?

Support MichelleTanPY's Dev journal by becoming a sponsor. Any amount is appreciated!

ย