Being a developer does not come without its heartache. We deal with complex requests, tight deadlines, and unforeseen variables (e.g. major change requests).
It's always good to have a few strategies in your pocket when dealing with these so you don't go full Homer and tear all your hair out.
So, let's get to the list...
1. Take a Break
This one isn't always easy to do when you're on a tight deadline, but more often than not it will help greatly. Most of the time the answer is right there in front of you, but you're just too wrapped up in the problem to see it. By taking a break it'll help you refocus and think about the problem with a different mindset.
I work from home, so some things I'll do are:
- Throw the ball for the dogs
- Have a shower (you'd be surprised how many good ideas are shower ideas)
- Go for a walk
For those that work in an office:
- Go for a cup of coffee/tea
- Go for a walk around the block
- Run a quick errand
Basically, just get away from the screen to clear your mind up a bit and consider new angles to the problem.
2. Work on Something Else
Similar to the above, this allows you to take a break from the problem at hand, but still get some other work done. Perhaps it's another feature or just some admin stuff that's been piling up. Stepping away from the problem should help you refocus.
3. Talk it Out
Often called "rubber ducking", this method is as simple as talking out the problem to yourself. It forces you to stop and think about the problem aloud.
4. Write it Out
Similar to talking it out, writing out your problem helps you see it in a new light. Go through the problem and write it out step by step to help you visualize it.
5. Ask for Help
And last, but not least, never be too proud to ask for help. Often the solution is right in front of you, but just requires another set of eyes or perspective to see it. Whether you seek help from your colleagues, community forums, or chat, this is a great way to work through a problem.
The above list may seem pretty straightforward and that's because it is. The main thing to remember is to just stop and think before you get overwhelmed and frustrated.
I'm sure we all have our own strategies to deal with the struggle. What are some of yours?
As always,
Happy coding! 🤓
Top comments (13)
These are the right tips for beginning programmers like me.
In fact, in this period I have difficulty programming, because I don't know how to program in the right way.
I think I don't have a mental logic and I tried different solution ( read documention , see tutorial ect...), but still nothing.
Anyway I will try your advise
I have the same problems you have... 'I can't build anything for me', 'I don't know what should I build' all these types of thoughts we have you know?
And I want to share with you what I do to jump over these bad feelings and thoughts so I bought an empty book called 'infinite book' it looks like a whiteboard and you can write everything and just clean. So I approach my daily learning with a new method:
It's a great idea, explain me more in the details of this infinite book, if you want to share obviously.
Let me share with you this quick review:
youtube.com/watch?v=grHVr2aMIbY
It's better if you watch the video and understand the concept between the infinite book.
If you want to share some ideas please let me know and send me DM .
Reasoning through problems is difficult when you first start programming. Everyone learns and works differently, you just need to find what works for you.
I would definitely suggest trying steps 3 & 4 every time you start a new feature or problem to solve. By writing and talking out the steps you want to take to build the feature or resolve the problem it will help you identify any possible issues with your logic.
And try not to get discouraged, it just takes time and experience - try to seek out a mentor who can help guide you (step 5 😉).
You have outlined some great ideas when you have some kind of block that is hard to push through. They are simple so it is just a matter of trying them! Stepping away from the problem often allows you to see the answer. The other one that works for me is to "sleep on it". I often wake up with the answer and after a good night's sleep, everything looks easier to handle. Thanks for sharing these tips.
Super important subject. The taking a walk is what helps me every time. I've been doing it since I was at uni. 10-15min walk might seem a lot when you are working but in reality it's not. Fresh air, movement, different setting - it does help you think better. You can see the problem from above and realize you've been approaching it all wrong :)
Agreed. Stepping away from the problem in order to think about it differently is so invaluable. And you're right, 10-15 mins is really nothing in hindsight. I think a lot of people feel guilty about stepping away from their desk - as if it means they're not working or slacking off. But a good employer will know that everyone works differently and as long as deadlines are met and with quality work being produced then the process in how we get there should not matter.
Great article for beginners! It's also worth adding that many problems have simple solution. For resolution the problem you need to get distracted and think about the problem at different angle.
Also, consider that the problem can be very big and can be divided in small pieces.
Very true, breaking down big problems into small ones is always an important step - whether you're struggling or just getting started.
Great tips!
Consider adding the
#productivity
tag as well.I especially like "write it out"; I started doing that a few years ago, and it's helped tremendously! It's funny how just putting your thoughts on paper can clarify them and focus you :)
That's right.
When I feel struggle or frustrated with something, I always do other works and let my mind be relaxed.
It would be better than before when I go back to original work :-).