DEV Community 👩‍💻👨‍💻

Cover image for 5 Things To Do When You're Feeling The Struggle
James Thomson
James Thomson

Posted on

5 Things To Do When You're Feeling The Struggle

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)

camicode profile image

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

corelhas profile image
Carlos Orelhas

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:

  • I watch a video tutorial about something (doesn't matter what just pick something and build) and at the same time I watch the video I write down in the book the ideas I catch from the video.
  • After this, I start the project from myself and try to do everything I write in the white book when I get stuck or replay the part of the video I get stuck to understand or if I know what to do but doesn't know the function or something, look on google.
camicode profile image

It's a great idea, explain me more in the details of this infinite book, if you want to share obviously.

Thread Thread
corelhas profile image
Carlos Orelhas

Let me share with you this quick review:

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 .

jamesthomson profile image
James Thomson Author

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 😉).

figspville profile image
Salli Figler

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.

jorotenev profile image
Georgi Tenev

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 :)

jamesthomson profile image
James Thomson Author

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.

codemouse92 profile image
Jason C. McDonald

Great tips!

Consider adding the #productivity tag as well.

rimlin profile image
Ilmir Shaikhutdinov

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.

jamesthomson profile image
James Thomson Author

Very true, breaking down big problems into small ones is always an important step - whether you're struggling or just getting started.

peter279k profile image

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 :-).

chrisachard profile image
Chris Achard

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 :)

What image format should you use in your next project? 🤔