I'm bad at math and I'll never be a real programmer

Hey there,

There's a phase in the life of every coder I call "The Valley of Despair." 

It looks something like this:

It's 3am and my eyes hurt. I fought my way through a stack of documentation and books—but when I think about writing a simple program my chest tenses up.

After four hours of reading the code and the documentation for the "urllib" module, fetching a URL, parsing the response, and printing some headers to the terminal still feels about as natural as climbing Everest without oxygen.

There's all this knowledge crammed into my head and for once it's time to spread my wings and program something useful, some small thing that solves a problem in the real-world... And yet, every time I step close to the edge I recoil:

"I'm not made out to grasp this stuff."

"I'm bad at math and I'll never be a real programmer."

"Everybody thinks I'm a fool for trying to learn this in my spare time and having nothing to show for."

It's a catch 22:

If you can't write your own programs successfully, you can't build your confidence. And if you don't have the confidence, you can't write your own programs.

I think almost everyone has been through some version of this. 

I've certainly experienced it. And it got so bad that almost psyched myself out of applying to university for a Computer Science degree because I felt I was inadequate—

That I couldn't do it.

So, one night I decided to work through the weekend and to give myself a challenge to determine my fate:

If I could sit down with an article about the Minimax algorithm and write a Java game "AI" that plays Tic Tac Toe, then I'd know I have what it takes and I'd apply to university. 

And if I couldn't write this program, I'd forget about my dream and would pick a different career...

Now, how did this experiment go? 

Well, let's leave it at this: Monday morning I emerged with with bloodshot eyes and less confident about my programming skills than ever before. But I decided I had written something workable and that I might as well apply to university and try my luck—and the rest is history.

Just to be clear, I don't necessarily recommend this as a "silver bullet" technique you should use in your own life. 

But what it did for me (besides giving me terribly stressful weekend) was that it taught me a valuable lesson about pain tolerance and persistence:

If you want to learn a difficult skill like programming, it *will be* a series of "stuff's too hard, smack head against wall" moments—interspersed with the occasional intellectual rapture.

There's ALWAYS a new challenge in this industry and the feelings of frustration and having to stretch yourself will never fully go away. The only way I found to deal with this pressure is to embrace it as a fact of life.

So, if you're going through "The Valley" right now, realize this:

Literally hundreds of thousands of coders and want-to-be coders are going through the same experience right now. Millions of others have experienced it before you, and many more will live through it in the future.

You're not walking alone. 

It takes courage to push through the frustrations and to make it to the other side.

And you'll likely arrive there with second-degree burns and a lot of sand in your underwear—but if you dream of becoming a programmer, it's the only way.

Keep going forward, and don't let up. 

I know you can make it.

— Dan Bader

Older messages

My Sublime Python course is on SALE (20% savings + bonuses inside)

Friday, December 4, 2020

Step-by-step course for Python devs: Sublime Python: The Complete Guide to Sublime Text for Python Developers Click here to save 20% (and get extra bonuses) Hey there, Here's a fact: It takes a lot

FAQs about "Sublime Python"

Friday, December 4, 2020

Hey there, After the announcement went out yesterday about the sale on my Sublime Python course, you hit me with a bunch of questions. Some of you are wondering how the course works—and some of you are

What Python developers say about "Sublime Python"

Friday, December 4, 2020

Hey there, I wanted to share a few things that other Python developers and Sublime Text users have said about "Sublime Python: The Complete Guide to Sublime Text for Python Developers".

[Python Dependency Pitfalls] The Iceberg

Wednesday, November 25, 2020

Hey there, The other day I read this quote from a Python developer that made me stop and think: "As a noob with a little programming knowledge already, I've found setting up and installing

[Sublime + Python Setup] The Ctrl+s "Heisenbug"

Wednesday, November 25, 2020

"What the **** is going on?!" I heard Keith yell. Returning from my lunch break and in a helpful mood I grabbed my coffee mug and shuffled over to my coworker's desk. "What's

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your