The Inner Game of Learning to Code

Matt Hopkins
4 min readApr 4, 2019

When you start learning to code, it can be extremely challenging, overwhelming, frustrating and exhilarating. It’s the constant tug and pull of these opposing feelings that often hooks people — but it can also defeat some.

I remember when I was first learning how to code, I was struggling with a problem in my code and spent probably 45 minutes debugging when I suddenly realized that my problem was nothing more than a misplaced comma. Another time I was learning React and faced a similar struggle to understand what was broken with my code, when I realized that I had forgotten to capitalize a single word, and that had broken everything.

When you’re new to coding and deal with these sorts of struggles, it can be extremely frustrating because of the inner dialogue that almost inevitably arrives, which goes something like this:

“That was the bug? Really? How did I miss that super simple error? Now I have to always think about that thing on top of all the other things I’m learning. If I couldn’t even catch that simple error, how am I ever going to write more complicated code? Who will ever pay me to code?”

This negative inner dialogue is an extremely easy place to go, and in my role as the campus director at a coding bootcamp, I’ve seen this happen to students time and time again. The challenge for developers, if you’re doing it right, is that there should almost always be a feeling of discomfort about what you don’t know. Technology is always improving, and as a developer, so should you. The key is not letting yourself go beyond that feeling of discomfort and into self-defeating negativity.

The Pull of the Future

A big reason why people pursue careers in development is because they see it as a way to future-proof their careers. The excitement around the constant evolution of technology and being a part of making the future pulls people to take the risk and invest their valuable time and money to jump into a new career. When you’re learning a new skill, the future can be an ally — or an enemy.

Let me explain.

As a human, your mind is a marvel. It can be in the future, or the past, or the present. However, your body can only be in the present. This disconnect can often lead to stress and anxiety because your mind is pulling you into scenarios that your body can’t currently resolve. This is often what happens when new coders struggle.

“How am I ever going to be good enough to do this?

“I’ll never be smart enough to be a developer.”

“I’ll never be able to get a job.”

And so on…

These thoughts are all a mixture of our mind living in the past and the future. The main problem is that it takes us out of the present and expends mental energy towards checks our bodies can’t cash. It’s this disconnect that often leads to people giving up — not anything related to their actual intelligence or potential.

I’m not saying that anyone could become a developer, or if someone doesn’t succeed it’s because they’re not trying hard enough, but I do believe that a lot more could be successful with the proper understanding and tools.

The Inner Game

So how does one overcome this battle around the inner game of learning to code? It’s going to be a struggle, but it’s through struggle that we truly learn and progress.

The key is realizing that once you’ve made your decision to learn to code and set off towards that goal, almost all your energy should be expended towards focusing on the present. Focusing on what’s in front of you. When you find yourself struggling, breaking things down to the most basic you can think of and building them back up again. Finding mentors to help if you’re completely stuck. Doing whatever you can think of right now to work towards your goal.

Whatever you do, you must fight back against any “stories” your brain starts to tell you about the future. The future doesn’t exist yet — you make the future by what you do right now — and any energy you can redirect to the present will automatically make whatever future arrives that much better.

So push forward, don’t allow yourself to be just an observer of your inner game, but be an active participant and change the outcome in your favor.



Matt Hopkins

Front End Engineer. SF Bay Area native. Tagalog speaker. All things tech, web development, and entrepreneurship