252: How To Handle Frustration When Learning To Code.
Description
What’s the best way to handle frustration when learning to code? Knowing that all developers face frustration at times is a big help. You’re not alone. And it doesn’t mean that coding is not for you. Treat it as a learning opportunity and stick with it until you solve the problem. Keep trying ideas until one works. Remember the satisfaction waiting for you when your code works.
This episode describes how we try many things before we finally find a solution. And why is that solution the last thing we would have thought of?
It happens to us in other situations too. When you can’t find your keys and you’ve searched everywhere, what do you do? You keep looking and eventually find them where? In the last place you would have thought of.
This happened to me once. I could not find the key to my tractor. Yes, I used to have a tractor. It was a single key and was nowhere to be found. I finally gave up and just didn’t use my tractor for several weeks. I didn’t really give up. I would look for that key sometimes but it was nowhere to be found. One day, I was moving my boots and saw the key inside one of the boots! I must have dropped it and it fell into my boot. Who would have guessed that’s where the key was? It really was the last place I would have suspected.
Or was it? Listen to the episode or read the full transcript to understand what I mean.
Transcript
That’s the last thing I would have thought of!
You’ve probably heard some people say things like this before. And maybe you use this expression too. What does it mean?
Well, we usually say something like this when we try something for a long time before finally succeeding.
Maybe you lost something and after searching for an hour, you find it where? In the last place you would have expected.
I read a book once where the main character was looking for a guru to help with his quest. He was searching when he came across a person sitting on a rock. He asked the person if he knew where the guru could be found. The person on the rock told him to keep looking because this will be the last place the guru will be found.
Most people take this to mean that they should look somewhere else. But the main character sat down in front of the rock and waited. When the other person asked why he hadn’t left yet, he answered that he was in the right location. After all, if this really was the last place the guru will be found, then why would he continue looking after he had already found the guru.
I always like this example because it applies so much to programming.
You will encounter problems that need to be solved when programming.
These are like puzzles sometimes. There’s not always a single correct answer to programming challenges and many times, we’ll be glad to find any solution that meets our needs.
Now, when you’re looking for a solution, where do you start? Do you go straight for the most unlikely or difficult solution?
No.
We start first with simple attempts and work our way to more elaborate solutions.
What do you do when you find something that works?
You complete that task and move on to the next challenge. In other words, it doesn’t matter if the problem is simple or hard. We always stop at the last thing we think of.
Okay, maybe that’s not entirely true for simple problems. I can usually think of several approaches to solving something and if I decide to start with the second of three possible solutions and it works, then technically, I didn’t stop at the last thing that I thought of.
But we tend to forget about simple problems and remember only the big ones. The ones that take a week to solve or more. In those cases, you quickly go through all your initial ideas and reject them for one reason or another.
This is when frustration sets in.
We’ve tried everything we can think of and so far nothing has worked well enough.
Now, when a new idea comes to mind