This article is for people who want to code, are trying to learn, or are wondering if they should learn it.


When it comes to learning to code, attrition is a huge problem. The majority of people quit. And, as Steve Jobs said, quitting is the ‘rational’ thing to do when something is really, really hard. And if you don’t love it, you’re not going to see it through.

But here is a twist: we love things we are good at. Before we get good, we like things that we are “getting the hang of”. Think back to the last time you were getting the hang of something new, and you will remember that feeling of: ‘Yeah — I can do this! I’m gonna get there!

Unfortunately, most people do not enjoy their journey to learn to code, even though it becomes one of the most addictive things you will ever do, once you start to get the taste of success. The trick is to start tasting small victories, early, and often.

My story

But I did not know all this 4 years ago. I distinctly remember my first, confused attempts to code in 2014. I didn’t even know what an IDE was. It didn’t help that I was 34, had zero background and didn’t know a single programmer.

I tried to learn to code. Not once. Twice. And both times I gave up. I am a very hard worker, very focused, and hungry for a challenge. And I was defeated both times.

I found the challenge too hard. Until …hang on, I am jumping ahead.

Let me be clear and reiterate — it wasn’t coding that was hard. It was learning to code that was hard. And this is a very critical distinction. It’s not the subject that is hard, it’s the process of learning it.

It took me 3 years of giving up, trying again, needlessly wasting dollars, reading all sorts of seemingly promising things, receiving conflicting advice and trying to heed both, bleary eyed nights and frustrated days.

In late 2017, I launched a little startup product, at huge personal expense. I was afraid that I would not raise funding in time, and my co-founder bowed out. I had hired developers — and that couldn’t last long. One day I browsed through my diary, and I saw a pattern.

I was going about the learning all wrong.

I made a note of all the things I felt defeated me. The list had little to do with coding, but everything to do with my choices, behavior, priorities, and … here is the big one…my misconceptions.

Less than a year later, I was doing well at hackathons, holding my own with those that had gone to expensive US Coding Bootcamps, helping other beginners start coding, and finally, doing what I’d dreamt of doing in 2014 — programming almost every day. I had gone past “getting the hang of it” to… “wow…not daunted by it!”.

And the best part? I knew that if I failed at the startup, the next one would be enormously easier because I had learned enough to achieve a key goal: I had become my own “technical cofounder”. I was able to prototype my own ideas.

No more trying to persuade others to “build me a simple prototype”.

I love coding so much, and I can feel myself getting better every day. I love that I have barely scratched the surface — programming is a gift that keeps on giving!

And I also now know that I could have achieved my objective with less than half the effort and expense.

But I am now in danger of forgetting what it was like back in 2014, or even 2016, and what I thought, felt, worried about, and struggled with in those early, early days. And I also now know that I could have achieved my objective with less than half the effort and expense. Humans are so great at compressing decades of information into learnings that others can use — for example, every autobiography is decades of learning in a few hundred pages. Podcasts can give you in an hour what it took people years to learn.

And so I resolved to use my diary notes to create a complete course that helps anyone, anywhere, prepare for the coding journey. There are plenty of courses that teach you how to code. But there is very little information that prepare you with what you need to know before you dive into learning.

I’m super pleased to announce that I’ve launched the course on Udemy! And if you’re a FreeCodeCamp reader, you’ll find in this post a clue on how to get a special promo code!

Who is the course for?

It is for people, especially those who have spent time in other careers, that are wondering if they can learn to code (you can), are interested in what it would take (a lot, but less than you expect if you learn from my mistakes!), have tried and given up (this is the majority!), are confused or overwhelmed by the tsunami of choices and decisions (too much noise, not enough guidance), or have started coding and want to make sure you achieve your outcomes with minimum wasted effort.

Oh, and if you want to save time, effort and money while you learn to code, then this course is for you. Because I lost over 8 months of time (more than 500 hours of time) and wasted over $1,100 in subjects that I did not need for my specific goal.

I designed the course to help you find the shortest path to your specific coding goals. Remember that old saying ‘People don’t just buy a drill — they buy the ability to hang the picture up on the wall’? That is 100% true.

You don’t want to just learn to code. You want to create something with code. You want to solve problems, build a business, achieve a flow state, help others, sell things, learn things.

There is no shortage of drills (learn-to-code resources). There is a shortage of guidance on how to find the drill, where to get it, how to use it on your specific wall, for your specific picture.

And here is something you won’t hear from other courses — I even ask you to consider quitting if your objective can be achieved through a means other than learning to program.

Time is your most precious non-renewable resource.

If you would like to learn more about my journey into code, check out episode 53 of the freeCodeCamp podcast, where Quincy (founder of freeCodeCamp) and I share our experiences as career changers that may help you on your journey. You can also access the podcast on iTunes, Stitcher, and Spotify.

I will also hold a few AMAs and webinars in the coming months. If this is of interest to you please let me know by going here. And of course, you can also Tweet me at @ZubinPratap.