Coding Is So Hard Do I Just Suck

May 04, 2017

Josh Li

Digital Marketer at Institute of Code

When you’re learning something new, there will always come a time where you’ll hit a wall. You feel your development slows down, or even grinds to a complete halt.

With coding, everyone experiences hitting this wall. But because coding has such a steep initial learning curve, people often hit that wall early on. Starting to learn how to code can often seem like swimming through mud; it’s a slow, tiring grind where nothing makes sense.

Our students in coding class

When you’re learning something new, there will always come a time where you’ll hit a wall. You feel your development slows down, or even grinds to a complete halt.

With coding, everyone experiences hitting this wall. But because coding has such a steep initial learning curve, people often hit that wall early on. Starting to learn how to code can often seem like swimming through mud; it’s a slow, tiring grind where nothing makes sense.

When you’re learning something new, there will always come a time where you’ll hit a wall. You’ll feel your development slowing down, or even grinding to a complete halt.

We hear a lot of people ask “is learning how to code hard?” It’s an interesting question, with two ways to look at it.

The rise of disruptive technology has changed the job landscape, leading to tech luminaries and governments pushing for everyone to learn to code. This has given rise to the myth “learning to code is easy”. After all, if kids in primary school can do it, it should literally be child’s play, right?

On the other side of the coin, grab someone who’s never seen code before and show them the guts of a website, and they’ll swear it’s one of the most complex things they’ve ever seen. It would look and feel completely unnatural to someone who’s never experienced it before, because the end product is so far removed the from lines of code themselves.

The truth is; coding isn’t easy. That’s why you have developers, engineers and programmers who dedicate their entire lives to the mystical art of code. While learning the basic syntax and structure might be easy, writing good code takes a lot of practice.

You’ll hear a lot of people (including ourselves) say, ‘learning how to code is like learning a brand new language’. But coding has its own peculiarities that make it especially difficult to understand.

 

1. It’s incredibly finicky and fragile

Anyone with any experience with coding will tell you coding takes a lot of patience to work with, especially because of how easy it is to break things. In everyday language, if you missed out on one punctuation mark, the worst that could happen is you get some confused looks. But if you made the same mistake in coding, at best, things don’t look quite right, at worst, you could ‘break’ an entire document.
Don’t believe it could be that serious? Just as an example, we were rebuilding a few things on our own website, The Institute of Code. However, the widget we wanted to add just didn’t work, and we spent all afternoon poring over just a few lines of code. It turns out we were using the wrong kind of quotation marks! Who even knew you could type more than one kind of quotation mark!

 

2. You don’t get immediate feedback after you do something wrong

It’s very often we use mistakes as a learning tool. If we say something wrong in real life, usually someone will correct us.
With coding, mistakes sometimes aren’t all that obvious at first. And when something doesn’t work, it isn’t because of something wrong we just did. We might have made a typo way earlier in the document, sometimes completely unrelated to what we were working on, and only now are problems becoming visible. This often means trekking back through lines and lines of code, figuring out where you might have gone wrong. 

 

3. You’ll need to remember a lot of very specific things

Like learning a new language, you’ll need to memorise a lot of new vocabularies. But with coding, not everyone agrees with each other on how to best say things. People create shortcuts, frameworks, and other all other kinds of new rules to make the language ‘easier’ to use.
Different companies or developers will often choose different ways of doing things, which means you’ll need to quickly adapt. Knowing what tools to use at the right time, or to adapt existing systems to more efficient ways of doing things will only come with time and experience.

 

4. The language is always changing.

Languages get updated every now and then - after all, nearly 500 new words and phrases have been added to the Oxford English dictionary in this quarter (2017) alone! But if you become fluent in a language, and you regularly use it, chances are you won’t need to learn huge chunks of vocabulary again.
But coding moves faster. Web development regularly undergoes fundamental changes you need to keep pace with. With some frameworks and languages getting outdated, to technological, design and user experience trends (such as mobile responsiveness) forcing developers to adapt, you can never rest on your laurels.

In coding, you’ll spend a lot of time troubleshooting problems and learning new things. It’s easy to get disheartened if you feel like you’re spending a lot of times ‘fixing mistakes’ and feeling like a newbie, but these are things even professional developers experience.

So what makes coding ‘easier’? Do you ever get off the hamster wheel of learning? What should you do if you’re just starting, and it looks like you’re looking at an insurmountable wall of code?


Just make sure you keep these 5 things in mind!

 

1. Be patient. It takes time for things to ‘click’

As we mentioned earlier, coding can seem incredibly unnatural to someone, especially if you’ve never seen it before. In fact, even for seasoned developers, looking at a mew framework or language could still elicit a few ‘wtf!?’ responses.
Coding is less about memorising huge chunks of text (like they teach you at school), but more about logic. Computers all speak a certain way; you just need the have the lightbulb ‘aha!’ moment when you realise how everything works together. This often just takes time and patience.

 

2. Have a goal in mind

One of the fastest ways to lose motivation is learning something for the sake of learning. When it comes to learning how to code, it’s important to always set yourself a goal, or at least, a concrete reason for learning code. Because of the sheer amount of information, languages and frameworks out there, it’s easy to get overwhelmed and lost.
Understand the importance of learning how to code, but not sure if you have a concrete reason in mind? Try setting yourself small projects that interest you. That way, you’re working towards something tangible, and you’re able to use your new skills in a practical manner.

 

3. Break problems down into their simplest forms

Some problems or projects can seem initially impossible to work out. But the great thing about coding is it often can work like Lego bricks - you can pull it all apart into smaller, easier-to-understand pieces.
Take Twitter for example. Yes, building a platform like that could be incredibly hard. But can you put 140 characters into HTML, and make it look alright? That’s not so hard. Can you make it all display like a feed? Or allow someone to log in, and save all your members into a database? Maybe not right now, but if that’s what you wanted to do, get familiar with Ruby for your front-end and Java for your databases, and you’re on your way! Yes, these languages aren’t exactly a breeze to learn, but at least you have a heading. 

All digital products are made up of little digital blocks, so if you can break all your problems down into these little chunks, things don’t seem so impossible anymore.

 

4. Learn this mantra: patience and time

While everyone wants to learn something fast (heck, we’ve even written about how to learn to code fast!), learning coding just takes time, no matter how experienced you get. Time, and a lot of patience.
Don’t be worried if you see others speeding off ahead, or other professionals making it look easy. Everyone learns at different paces - in our experience, we’ve definitely seen people who take to code more naturally than others. However, the key, in the beginning, is getting into the right habits, and embracing your problem-solving ability. There’s no point learning fast if that means you develop some shocking habits along the way.

 

5. Make sure you learn from someone

Always make sure you’re learning from someone. There are a lot of resources out there now that allow you to learn from the comfort of your home. But it’s always important to have someone close by who you can ask questions and to keep you sane. You’ll find your motivation will be a lot higher, and your development rate a lot faster if you buddy up with a mentor who can keep your development on track. That’s why at The Institute of Code, we maintain a 4:1 mentor ratio!

The key thing we want you to take away from this article is this: coding is not meant to be easy, but nor is learning anything else worth learning! You’ll get frustrated, feel lost, and get confused. But that’s all part of the process.


Written by: Josh Li

Digital Marketer at Institute of Code