How not to stuck when solving a problem?
Today I want to show you one approach that will let you spend less time-solving things.
Problem
For sure, you had a situation where you were stuck on solving some problems like implementing new features or worse trying to find a bug in your system. That happens every time then you’re doing interesting things and trying to learn something new. You are on a good path!
This is not a problem until you react to it in a good (for you) way :)
Bad approach - trying to solve a problem at any cost
I did that many times, like sitting in front of my desktop until I solve the problem. That approach is not the best because you are wasting your time. I mean, if you are tired, probably you won’t find out a brilliant solution. Also, finding, designing, or even implementing the correct solution would take more time. Instead of trying to solve that problem, you could e.g. solve some other task that is well-defined at the same time. That would give you a better outcome in the end.
But we all know that you must solve some complex problems and fix hard-to-debug issues. So…
Approach you should take
I will show you a couple of ideas that could improve your efficiency when you will stick to something:
- Give yourself X amount of time e.g. 1h and do a short break after that. Making coffee, talking with your friend, or going for a short walk will let you reset your mind and think about other things. However, our subconscious will continue to solve this problem in the background. So when we get back to work, we should have a couple of ideas on how we could solve it. Splitting work into time slots should decrease the time needed on preparing the working solution.
- Do something else to distract your mind - it would also help process your problem on an unconscious level
- Use the rubber duck technique - it’s obvious
- Learn how to use a debugger (if you don’t know yet) if you have to find a cause of a problem during a runtime
- Gather as much data about the problem as you could. I mean you could get functional and non-functional requirements, some other constraints, and things that are important from a business perspective. All of that (a many more) will help you to design a proper solution.
- Try to talk with a teammate from your project on the company - but prepare questions first in other to not waste your colleague’s time
- Write the unit test first - that always works :)
Hope this list would help you solve problems faster. Point number one and two are the most important - do breaks to reset your power.