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

SRE Weekly Issue #425

Monday, May 20, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: FireHydrant is now AI-powered for faster, smarter incidents! Power up your incidents with auto-generated real-time summaries,

🤖 Will AI Gadgets Replace Our Smartphones? — 4 Ways to Use Excel in Daily Life

Sunday, May 19, 2024

Also: How to Declutter Your Google Search Results, and More! How-To Geek Logo May 19, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your

Daily Coding Problem: Problem #1446 [Medium]

Sunday, May 19, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a set of closed intervals, find the smallest set of numbers that covers

RD#456 Data Fetching Patterns in Single-Page Applications

Sunday, May 19, 2024

Five patterns to help Single Page Applications fetch data from remote sources ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

C#506 .NET 9 LINQ Performance Edition

Sunday, May 19, 2024

The team has been working on improving performance ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

PD#574 Programming like it’s 1977

Sunday, May 19, 2024

128 bytes of RAM, no operating system, and limited types of sprites ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Defeating Mouse Lint 🖱️

Sunday, May 19, 2024

How optical mice scrolled past rubber balls. Here's a version for your browser. Hunting for the end of the long tail • May 19, 2024 Hey all, sorry this is running a little late. Last week's odd

Android Weekly #623 🤖

Sunday, May 19, 2024

View in web browser 623 May 19th, 2024 Articles & Tutorials Sponsored Webinar: Compiler Technology vs Wrapper Solutions The right mobile app protection secures apps and SDKs against threats such as

Does AI spell doom for the open web?

Sunday, May 19, 2024

Plus, a proposal for Melinda French Gates View this email online in your browser By Anthony Ha Sunday, May 19, 2024 Image Credits: Google OpenAI and Google both made big announcements this week —

Sunday Digest | Featuring 'Visualizing the Tax Burden of Every U.S. State' 📊

Sunday, May 19, 2024

Every visualization published this week, in one place. Visual Capitalist Sunday Digest logo May 19, 2024 | View Online | Subscribe | VC+ The Best of This Week's Visuals Presented by Voronoi: The