Why Can’t I Learn to Code?
9 non-technical reasons it’s so damned hard and how to overcome them.

You are not too unintelligent to learn to code!
Let’s get that excuse right out of the way.
Yes, it’s hard. Yes, you’ve been working at it for some time and not progressing. And, Yes, your peers that started at the same time as you are further along.
But that does not mean you are too unintelligent to learn to code. If you can read this article, you are smart enough to learn how to code. Trust me. 😉
What’s hindering you are likely these nine common (non-technical) stumbling blocks.
Here they are and how to overcome them.
1. Picking the Wrong Learning Language to Start
It goes like this: You read some blog about how powerful R, Swift, Go, or JavaScript is, how simple it is, how much money you can make, and you want in.
So you fire up one of their ‘getting started’ tutorials — and then you fall on your face.
That’s because these are advanced programming languages. They are not meant for cutting your programming teeth 🦷 on. You need your coding basics well in place before starting with them.
How To Overcome:
Start with a programming language that’s designed for beginner accessibility. Like, Java, PHP, Python, or C#. These are not sexy languages, but they are well constructed and as-straight-forward-as-it-gets for programming. To learn to ride a bike, did you jump on a Harley? No! You started on a tricycle, moved to bike with training wheels, moved to a bike, and then to 🏍. You need to do the same with learning to code. Start with a simple language and build from there.
And, remember, you can always pick up one of those sexy languages later on.
2. Believing The ‘Learning2Code’ Hype: That Coding is Easy-Peasy
It is a crime how much nonsense there is on the internet about how easy it is to learn how to code. It’s even in the mainstream news: Just laid off from your truck-driving job because of a self-driving car?? Well, simple! Just learn to code. Want to change careers from hairdressing?? 💥 Simple! Just learn to code.
And then you think there’s something wrong with you when it’s not easy. And down you’ll fall into a spiral of self-doubt and self-hate.
How To Overcome:
Just know that it is damned hard to learn to code. Whenever you start a journey thinking it’s going to be easy, any obstacle you come across will seem twice as large. But if you start off thinking the journey is going to be challenging, then any obstacle you come across won’t seem as world-ending.
Knowing that it’s going to be hard is more than half the battle here. Steel yourself and don’t expect a cakewalk, cause you won’t get one.
3. Running 🏃Before You Can Walk🚶
This stumbling block has doomed many a promising-coding career: trying to try and learn to code on a huge, interesting project. 🔪🐦🐦🗿☠️
This pitfall got me hook, line, and sinker. I thought I’d learn the Bitcoin platform and how to code at the same time!! Genius!! So I did a pull request to (https://github.com/bitcoin/bitcoin) and in no time at all I got completely overwhelmed and gave up.
How to Overcome:
Seriously, just printing “Hello World” to your screen is good enough for anybody to start learning to code. Learning frameworks, projects, games, and so on can come later. Just focus on the basics that you need to get started. And be happy! It’s a huge accomplishment to make the words “Hello World” appear on your screen. Reward yourself for doing this. You deserve it.
4. Comparing Yourself to Others
This will crush your spirits faster than a fat man sitting on a sandwich. In this interconnected world, we are inundated with stories about Baby Zuckerbergs being born with keyboards in their mouths. And everybody knows somebody who coding just came naturally to.
And as you start your coding journey, you’ll think of these people, these billionaires that started coding at the age of 4 and made gazillions by the age of 5, and you’ll be demoralized.
Let me tell you: it is impossible to learn how to code when you are demoralized. You cannot code with a broken soul.
How to Overcome:
It’s hard as hell, but you can’t play the compare-yourself-to-others game. It leads to nowhere but pain. You can only compare yourself to yourself. And yesterday you knew nothing and today you know something more. Go with that and keep building each day from there. It’s the only way to surmount this stumbling block.
5. Believe the 💩 —You’ll Rake in Money 💸 In No Time.
This one takes everyone in, chews them up, and spits them out.
Yes, it’s true, the average software developer salary is twice the nation’s median salary. Which is 🤑. And I’m sure you’ve read all the articles about software developers who became millionaires overnight. Or about the guys who work only four hours a day and make 🏦.
And so you fire up your computer and in no time at all you’re making nothing — and you continue to make nothing and then give up.
How to Overcome:
Don’t believe the B.S. 🚫🐂💩 First off, salary surveys are heavily skewed by big salary earners. So, quite often that average value is not what people earn at all. They earn much less.
And also, those surveys do not measure the blood, sweat, and tears the people behind those numbers have put into learning to code. Nor do they mention the countless hours of interviews and coding tests required to get those jobs.
To overcome, you need to strap in for the long-haul. It takes at least a year or more to get the coding basics down. And it will take much longer before you can get good enough for somebody to even consider paying you for your work. But it is possible, it just takes time.
6. Coding Bootcamp 🐂💩💩💩
Learn to code in 48 hrs!! Become a Web Developer in just One Weeks Time. Launch a Whole New Software Career in Under a Week! — And on and on the advertisements go.
And you’ll think: Amazing! I can change my entire career and life in just two days time. Sign me up!
And then you’ll spend a pile of 💰💰💰 and you’ll get nowhere but confused. And then you quit.
How to Overcome:
Don’t believe the Bootcamp lies. 🚫🐂💩 These people just want your money and they will tell you anything to get it.

Coding Bootcamps are just like those tear-off flyer job scam ads, but much less obvious cause they’ll have amazing graphics, stats, and student testimonials.
But they’re all lies. Only people who are already high-flying coders can pick up a whole new coding language in under two days, or a week, or even a month.
Overcome this stumbling block by staying away from these Bootcamps altogether. Take courses from reputable providers like Udemy, Coursera, Pluralsite, and so on. These courses are not expensive and they start at the beginning so you can properly begin your coding journey.
7. “I Give Up — I’m Not Born To Code”
I heard this one from a friend. She wanted to learn to code and no matter what book she read, course she took, or tutorial she tried, she didn’t get it. Then one day she said to me over ☕️, “I Give up, J.A. I can’t get it. I’m just not born to code.” And she put her head in her hands and cried.
I think a lot of people give up like this. It just doesn’t come to them and they think that certain people are born to do certain things and they are not one of them so there is no point.
How to Overcome:
Let me tell you, no one is born to do anything. Nobody is imbued with a special coding capability at birth. Life just doesn’t work like that.
What does happen is that lots of young kids get exposed to coding very early in their lives, so later on they can pick it up super quickly. And you are likely NOT one of those people. And that’s OK. You can still learn to code, it will just take time. And here’s a secret to keep you going: it took those wunderkinds just as long to learn as it will take you. It’s just that they’ve already put in the time when they were younger and you haven’t. So ignore those little jerks and put in the time too. They wern’t born to do it and neither were you.
8. Coding in Isolation
You buy your Learning2Code book, course, podcast, and you plunk down at your computer by yourself — alone. And then you run into a problem that you have no idea how to solve and you spend all your time Googling it. And by the end of the month, you’ve spent more time Googling problems than actually learning. And on and on like this you go, working away and learning absolutely nothing.
How to Overcome:
The traditional school system has set you up to fail. It teaches you to do everything in isolation. But, learning to code is best done interactively with a group of your peers, not by yourself.
Look around for something like https://codebuddies.org/, where you can work together with your peers to learn. The best bits of coding I’ve learned are through what others have taught me, not through what I’ve taught myself.
9. I’m Too Dumb To Code
This is the deadliest of stumbling blocks and it’s the one that got me. I cracked open a coding book and felt like I was the world’s stupidest person cause I didn’t understand a bit of it. And I spent months working on that book and I couldn’t surmount my feelings of worthlessness, so I quit.
How to Overcome:
Some of us are hardwired to fall into a pit of despair when met with obstacles. Our first thoughts are we aren’t good enough or smart enough to do this. And because we believe that, it becomes our reality. For many of us, our own selves are the greatest enemy for learning to code.
I overcame this by ignoring that little demon 😈 inside me that says, “You can’t cause you suck!” and I spent just one hour every day learning to code. One hour is perfect because it’s enough time to learn something and keep that demon at bay. I’d even set a timer ⏲. And bit by bit, hour after hour, day after day, month after month, I proved myself wrong.
I will never be a genius coder. I will never make millions. But I learned enough to be paid for my work and provide for my family. And, by God, you can too. Don’t let you get in the way of learning what you want.
Final Thoughts
Don’t let the internet fool you — It’s freaking hard to learn how to code. You won’t make millions in weeks. You won’t get a job in a month. You won’t even get the basics in a year.
It is a long, long haul to build those skill-sets to the point where they are valuable enough for somebody to pay for them.
But if you want it, you can do it. Believe me, it’s all possible. It just takes time and perseverance.
And remember: the hardest part of any journey are the first steps. Once you surmount those, the going gets easier and easier.
Good luck, good learning, and good programming.
You can do it.