The 5 Hardest Things about Learning to Code (2024)

Learning to code is a roller coaster ride. You can have incredible highs figuring out that error message, async programming finally clicking, finishing that project. And there can be incredible lows coding for hours without making progress, losing motivation, changing your learning plan for the umpteenth time.

The 5 Hardest Things about Learning to Code (2)

Here are five of the toughest parts about learning to code and what you can do to not let them get you down.

When you are first starting to learn how to code, developing a plan can be intoxicating. You’re excited about this new chapter in your life. You’re surprised that you hadn’t thought to do this earlier. You start googling to find out how other people are learning to code.

You soon realize, however, that developing a plan is daunting in and of itself. There’s CS50, freecodecamp, udemy, scrimba, the odin project, open source university, dev100 let alone deciding whether or not you want to do a coding bootcamp! Oh, and you also need to decide what type of coding you want to learn and what language to start with.

This can all be scary for sure. But you can take solace in the fact that mostly it doesn’t matter. The best plan is the one that you won’t quit. This is one reason why bootcamps with upfront costs still work: if you pay thousands of dollars, then the cost of quitting is now very high.

But there are other ways to make sure that you don’t quit.

My favorite one is #100DaysOfCode. The idea is that you code for 100 days in a row. You don’t have to code a lot every day, but you have to do something somewhat coding related every one of those 100 days. Once you get going on #100DaysOfCode, then you don’t want to break the streak! It’s so simple, but it worked wonders for me.

Applying to your first job is scary because it always feels like you are so far away from someone being willing to pay you for your coding. Putting yourself out there and marketing yourself as well as your coding skills seems like a big step. It’s also scary because most likely you will receive a lot of rejection. And rejection sucks.

If you can mentally prepare yourself for this rejection, applying early and often will accelerate your journey. You will quickly learn what is working and what isn’t, and you find out what areas you need to work on.

Kylo Robinson on Code Newbies podcast said it best:

It only dawned on me when I started interviewing for jobs and saying that I knew JavaScript that I realized that I really really didn’t know it

Just know that you are not alone, everyone feels apprehension applying to their first job!

It is surprisingly difficult to separate good learning materials from bad learning materials. Also, what can be good for you early on in your journey can become useless later.

You can follow a tutorial on youtube that walks you through how to create a Twitter clone, and by the end you think “Wow I just made Twitter!”. Except for the fact that if you tried to do something similar from scratch on your own it would be impossible. Even if you are trying to be acutely aware of this phenomenon, it can get you. As you’re following along with the tutorial, each step seems logical and straightforward when building off of the previous step, but you look back 5 steps and realize that there’s no way that you could have made those connections.

That very same tutorial, however, could be useful early on in your journey when you are still exploring what is possible for you. Many tutorials are code candy, enticing but ultimately not good for you.

One way to fight tutorial hell is to reflect on your progress frequently. I used the Github version of #100DaysOfCode to regularly journal my progress in a way that was more introspective than if I were to tweet it out to the world. Another way is to know what it feels like to learn — Learning How To Learn is a fantastic free course that helps you tackle illusory learning.

Even though I decided to make the big challenge to learn to code, I still ran into procrastination issues. I procrastinated splitting my React code into multiple modules. I was dreading starting to learn unit tests.

For some reason, it is human nature to procrastinate and make problems seem bigger than they are. And the longer you avoid doing the thing, the bigger and bigger you make it out to be. Then when you finally start to learn it, you realize it wasn’t that bad.

One method for getting over this hump is to find a community or mentor and talk with others about what you’re struggling with. There are a bunch of great coding communities:

  • Learn Programming Subreddit — redditors learning to code together
  • CodeNewbie — a community that started as a weekly Twitter chat to connect people learning to code by Saron Yitbarek but has since grown
  • #100Devs — free 30 week online bootcamp started by Leon Noel with an active community on Discord and Twitter

For more details, here is another post I wrote about learning a new technology using React as an example.

Coding is 99% failure. You spend hours and hours debugging and finally getting the error message to go away and then you encounter another error…

The 5 Hardest Things about Learning to Code (3)

And then as soon as you get it to work then you’re done and you move on. And you start applying to jobs and are congratulated with more failure!

There isn’t much to say about this except that you need to learn to manage your relationship with failure. Coding is relentless problem solving. If you feel yourself getting frustrated or down, then shut your laptop, go for a walk, go to sleep. Likely when you come back, you can approach the problem with a clear mind.

Now get back out there and code!

The 5 Hardest Things about Learning to Code (2024)

FAQs

The 5 Hardest Things about Learning to Code? ›

The hardest part about learning to code is that you're fighting multiple enemies and one enemy is an unlikely culprit that you may not even realize. It's yourself. Yes, that's correct. It's very important to realize this, and right now is the perfect time.

What is the hardest thing about learning to code? ›

The hardest part about learning to code is that you're fighting multiple enemies and one enemy is an unlikely culprit that you may not even realize. It's yourself. Yes, that's correct. It's very important to realize this, and right now is the perfect time.

Why is it hard to learn coding? ›

“Coding is hard because there's so much to learn.”

The number of programming languages and frameworks can be overwhelming. The good news is that you don't have to learn everything at once.

What is the most difficult part of programming? ›

The hardest part about creating software is not writing code—it's creating the requirements, and those software requirements are still defined by humans. This article will talk about the relationship between requirements and software, as well as what an AI needs to produce good results.

Which is the hardest coding language to learn? ›

What Is the Hardest Programming Language to Learn?
  • C++ The C++ programming language is one of the fastest and most powerful languages. ...
  • Haskell. Haskell is one of the hardest programming languages to learn as it is built on a mathematical logic system called lambda calculus. ...
  • LISP. ...
  • Malbolge. ...
  • HTML. ...
  • JavaScript.
May 26, 2023

How many people fail to learn code? ›

And that's why 99% of people have such a hard time learning to code. It's not because they're not smart enough or because programming is too hard. It's because they don't know how to use the most powerful tool at their disposal — the almighty search engine.

Does coding pay well? ›

These are just a few instances of how your circ*mstances can dictate your coding salary. However, the median salary for computer programmers in the U.S. as of 2021 was $93,000 per year or $44.71 per hour. Some jobs will pay more, others less. Let's look at some factors that come into play when figuring out salary.

Is coding fun or boring? ›

The short answer to the question “is coding boring?” is—quite simply—”no.” Of course personal preferences can vary, but coding is so not boring for so many people that you'll even find coders jumping to the profession from much flashier sounding backgrounds.

Is coding harder than math? ›

The majority of programming doesn't involve any math at all, and the parts that do require basic math. Advanced mathematics, on the other hand, will let you solve complex formulas, but you will never have to do this in web development, so coding is far easier.

Will AI replace coding? ›

Most humans can't write reliable code. And AI is just an application that analyzes vast amounts of human-written code. So, it's unlikely that AI will write reliable code. Most programmers agree.

What is the most complex thing to code? ›

Malbolge. This language is so hard that it has to be set aside in its own paragraph. Malbolge is by far the hardest programming language to learn, which can be seen from the fact that it took no less than two years to finish writing the first Malbolge code.

What is the easiest code to learn? ›

HTML, JavaScript, Python, PHP, and Ruby are considered the easiest programming languages to learn. They have relatively simple syntax and have readymade functions or libraries. This makes it pretty beginner-friendly and one of the most popular programming languages.

What is the #1 hardest language to learn? ›

1. Mandarin Chinese. Interestingly, the hardest language to learn is also the most widely spoken native language in the world.

What is the hardest code to write? ›

One such code that has gained notoriety for its mind-boggling complexity is Malbolge. Often dubbed as the "hardest code to master," Malbolge pushes the boundaries of comprehension, leading many to ponder its purpose and viability.

Is coding one of the hardest things to learn? ›

Learning to code is a roller coaster ride. You can have incredible highs figuring out that error message, async programming finally clicking, finishing that project. And there can be incredible lows coding for hours without making progress, losing motivation, changing your learning plan for the umpteenth time.

Is coding more difficult than math? ›

Coding is not harder than math, but it depends on the person. The majority of programming doesn't involve any math at all, and the parts that do require basic math.

Does coding get easier? ›

No, coding is not hard to learn; however, it can initially seem intimidating. When learning anything new, the beginning can be challenging. Coding gets easier over time with patience and persistence. If you're considering learning how to code, it can be easy to focus on the difficulty.

What is the hardest programming task? ›

9 Hardest things for a programmer
  • WRITING TESTS. ...
  • WRITING DOCUMENTATION. ...
  • IMPLEMENT FEATURES WITH WHICH YOU DISAGREE. ...
  • WORKING WITH OTHERS CODE. ...
  • DEALING WITH OTHERS. ...
  • ESTIMATE TIME TO COMPLETE TASKS. ...
  • EXPLAIN WHAT YOU DO. ...
  • NAMING THINGS.

Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated:

Views: 5489

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.