Learning programming is hard, no matter what area you have chosen to study. And by the way, the learning never stops. You may feel very experienced one day only to get knocked down a couple of pegs by some new technology that you have to figure out the next day. We have all had that insurmountably frustrating moment where code that looks like it would absolutely work just refuses to do its job with seemingly no hint as to what the problem is. I know when I first began to learn to program, I had a perception that there was a lack of educational material that was unassuming and refrained from using a lot of jargon. Most of the time when I was at work I felt like I was running into a brick wall repeatedly over and over again, just trying shit to see if THAT was what was meant by some poorly written documentation. Fortunately, I have learned some things about how to mitigate the fatigue that I was experiencing due to programming pain points.

Continuing Education

I have noticed that there is a tendency amongst new programmers and developers to try and dip their toes into any free tutorial/course that they can find. Yes, this is essentially how you get to know about a programming language and how to use it effectively but it is easy to fall into the trap of course overload. “Course collecting” is what I like to call it, it’s the active search for courses and the collection of them without actually completing them. To combat this, I highly suggest researching a job or field that you ultimately want to make your goal. Then find what technologies you must learn in order to achieve this goal. Find job listings that list out requirements and find the lowest common denominator among them. Most of the jobs that I am looking for are usually looking for someone that knows project management tools, database management tools, WordPress, Shopify, HTML, CSS, Php, Javascript, and React or Angular. I don’t know much about Angular or React, so if I wanted to get these types of jobs I would choose a course on React or Angular. I would avoid trying to find courses on anything that interests me because let’s be honest, I would probably acquire 100 courses that I would never finish.

What does this have to do with solving difficult coding problems? Well, it has been my understanding that programming languages implement a lot of the same elements such as loops, functions, data types, math, etc. but they all seem to have different approaches or philosophies about how they do the same thing, essentially different approaches to solving the same problem. If you commit yourself to a focused, and focused is the key, ongoing education regiment you will immerse yourself in a diverse array of knowledge. Keeping yourself sharp will lend itself to problems that you face. A lot of times, solutions are never pursued by you because you did not realize that they even existed. The more you stay interested or hungry for knowledge, the more you will have the ability to think differently about problems. By using this method, you could “course collect” but you will be doing this over time without being cognizant of it.

Taking Breaks

I love to binge work, but to be honest, I need to stop doing this. I could work for hours without stopping but it has been proven that you are much more likely to put out better work or retain more knowledge if you take breaks about every half hour. Now when I say take a break, I mean a five to ten minute break. These breaks can consist of whatever you want to do. I usually fill up my water bottle, play with my pets, switch over some laundry, read a comic book, it really doesn’t matter what the activity is just as long as you aren’t thinking about your tech work.

I wish I had kept track of how many times that I solved a problem right after taking a short break. Before the break I may have spent an entire half an hour trying to figure it out to no avail, but the break made all the difference. I came back with fresh eyes and was hit with a sudden inspiration that in the end turned out to be the correct answer. I know it sounds crazy, but breaks can sometimes pull the veil or blinders away from your eyes and give you new perspective.

How To Deal With Coding Problems That Seem Impossible To Solve

Stay In Touch.

Let's Get Creative.