You Can Learn How to Code

How to Work through Frustration While Learning to Code

girl having emotional meltdown at computerIt’s inevitable: all computer programmers, web developers and software engineers, no matter if they are novices or experienced, get stuck at some point. That’s why learning to work through frustrations is an incredibly important skill all aspiring programmers need to learn.

Ironically, it is a skill that is not covered in most books and courses. For this reason, those who are learning a programming language for the first time are often surprised when they encounter roadblocks. If you’ve had this happen, you know how frustrating and demoralizing it can feel. The process often goes like this:

How It Happens

You are writing code easily enough and then, all of a sudden, what you’re doing isn’t working. Maybe you’ve tried to add some interactive JavaScript to your webpage or can’t get your email form to work. Or maybe you got stuck on an assignment for school that involves Java. Or perhaps you were researching an issue, only to discover that reading the language documentation was about as clear as tar.

All of these scenarios can feel demoralizing, and if the reason you’re reading this article is because you’re stuck and feel like you’re going insane, take a deep breath. We are going to explore why this happens and give you a road map to manage your emotions throughout the process of trying to solve your problem. After you’re able to work your way through the issue you’ve encountered, you will have battle scars to discuss in formums.

Okay. Enough about that. We are now going to uplevel your state of mind and get you out of your mess.

Getting Stuck is Normal

Before we attempt to solve your problem, the first thing I’d like you to understand is getting stuck is normal. This is important because as a new programmer, when you get stuck, you may not have realized it would happen. You might even feel like there is something wrong with you and you can’t learn these skills. If that is what’s happening, the first thing you need to know is that what you’re experiencing is part of the process of thinking through a tough problem and it’s completely normal. If you can adapt this mindset, it will help you approach your issue with a clear mind rather than get embroiled in the problem you’ve encountered.

It Happens to Everyone

Yes, that’s right. It will also help to remember: getting stuck happens to everyone, even experienced web developers and engineers. The first time I discovered this in a professional capacity, I was doing some QA (Quality Assurance) at the ad agency where I was working. I discovered a problem with the new web app we were about to deploy. It did not look right in Safari, and we were right up against the deadline. Timidly, I went to approach the engineer. He silently closed his eyes and rubbed his temples as I told him what was happeneing. I then left him to his work so he could try to solve the problem.

A few minutes later, I walked past his desk and saw all the web developers at the ad agency were rallying around him, trying to help him work through the problem. They solved the problem eventually, and the web app deployed only 30 minutes behind schedule.

The point is, my former co-worker did not solve the problem alone. He had a team of talented and season web developers around him to help work through the challenge. Many times, when we’re learning to program, we are on our own and don’t yet have a supportive community around us yet.

Research, Research, Research

So how do you work through frustrations if you’re working on your own and don’t have a team of co-workers around? You must research the issue yourself and know where to look for help. The first step is either type your error or the search terms of your issue into Google or Stack Overflow. As you research answers, you will probably alternate between the two, refining your queries as you learn more about the issue.

If that doesn’t work, take a break for a short bit and then try to work through the problem again. And if that still doesn’t work…

Release Frustration and Find Your Sense of Humor

I will share two techniques that work surprisingly well for me:

1. Beat an old pillow: If there isn’t anyone else around, you can shout as you beat the pillow. After you have released your pent-up frustrations, it helps to do something physical, like going for a walk or doing some cleaning. Just being physical after sitting at a computer for hours can bring a new level of clarity to what you’re working on. Once thrity minutes or so have passed, try working through the problem again.

2. Angry journaling: This technique can work well, too. The process is to get in touch with your emotions and work to uplevel them. You first start to write about how frustrated you are and how badly you feel. Write until you’ve gotten all the negativity our of your system. You might feel like your hand and fingers are about to fall off, but keep going anyway. Once you’ve released your anger and frustration, see if you can find some humor. I once threatened JavaScript that I would steal all its semicolons and bring the internet to a screeching halt. I don’t have the power to do that, of course, but the idea made me laugh, and soon I was feeling better. Once you find that you’re laughing or at least smiling, jot down the reasons why you wanted to learn programming in the first place. This allows you to connect with your original dream and remind yourself that there are rewarding experiences that await you beyond what you’re presently feeling.

Full Disclosure

In the interest of full disclosure, I will tell you that the list of ways to get stuck are all examples from my own experience:

  • Interactive JavaScript: I do not want to tell you how long it took me to learn to use the getElementById method in JavaScript properly, but I will. I slogged through documentation for six months before I could do the most basic DOM manipulation exerices. Part of my problem was trying to learn jQuery first, which confused me.
  • Getting an Email Form to Work: Did you know that it takes a surprising amount of PHP to get an email form to work properly? Alas, I discovered this is an advanced beginner or intermediate-level task when I was just starting to learn PHP.
  • Stuck on a School Assignment: The only thing worse than getting stuck on your own is getting stuck when you’re in a class and people half your age are flying through the exercise. I joined an expensive bootcamp but had to drop out because I couldn’t keep up. I ended up learning the material eventually, but I needed a lot of time to experiment and look things up on my own when I got stuck.
  • Unclear Documentation: Reading and understanding the documentation for the programming language you’re trying to learn is an important skill to master. However, it’s important to remember that documentation is written by experts for experienced programmers. If you’re finding that there is too large of a gap between the language documents and your current understanding, a decent programming book or course can help you bridge the gap.

I shared these expereinces with you to reinforce that getting stuck is a normal part of the process of working through a problem. If you’re interested, you can read about my battle scars on Quora, where I am very transparent about the struggles I’ve had learning how to program.

I hope this article will help you remember: getting unstuck doesn’t need to be a laborious process. Sometimes it is a matter of learning a little more and gaining experience. Other times, we are stuck because we are mired down in our own negative emotions. Research can help you work through the first challenge, and the techniques covered here to release frustration can help you with the second scenario. And remember, you can always ask for help in forums like Quora or on Stack Overflow. Web developers, programmers and software engineers like solving problems, and many of them enjoy helping those with less experience.

 

 

 

2 comments

  1. You’ve written a great post. My only experience thus far with coding has been running my WordPress website. I often work in the visual setting but occasionally I need to add code to the text. Sometimes I get it right but other times it ends up a mess and I have to start over. I get frustrated and feel like giving up. It’s comforting to know that even top-level engineers and programmers have the same issues. I don’t feel so alone!

    1. Hi Megan,
      You’re definitely not alone. I can assure you that those of us who have been doing this for awhile still get stuck, and we all have our own issues with code. One of my favorite JavaScript teachers has a lot of trouble with D3, to the point that he won’t teach it! You can never be an expert at everything. I hope that knowing this will free you up. I will also add that it is admirable that you’re sticking with your WordPress website, even if it is difficult to work with. Gradually, you will become more comfortable with it and will be able to share your knowledge with others. Best wishes to you!
      Laura

Leave a Reply

Your email address will not be published. Required fields are marked *