NEXT Academy is Southeast Asia’s leading school for aspiring entrepreneurs, freelancers, software engineers, and digital marketers

How to learn programming for free?

Have you always wanted to code? Are your financial resources not sufficient enough to attend a bootcamp or go to college? You can also learn to code for FREE! How? Read on, and you will find out!

Yin Chu Rijnaard
November 15, 2019

A few years ago, we wrote an article about how you can learn to code on your own. Coding is still tremendously popular, now probably even more than ever. Its relevance can be found in everyday life, smart devices and technology nowadays are built and maintained with code.

Whether you already know a programming language or are simply looking to freshen up your knowledge, learning how to code always teaches you something. You don’t do it for nothing. If this is the case, you have probably considered either of the following three options:

  1. A Computer Science degree
  2. A bootcamp
  3. An online course

One thing all of them have in common is the fact that they are rather expensive. A Computer Science degree, for example, is not only costly in terms of money, but also in terms of time. But if you wish to spend as little money (or no money at all) as possible, then your only option is to learn it all by yourself. Should you do that? Could you do that? Find out now! Question we’ll be discussing:

  • Should I really learn to code?
  • Is self-learning the way to go?
  • How do I get started?
  • What if I get stuck?
  • Will I ever be good enough to be a software developer?

Should I really learn to code?

The short answer to this question is yes. But why?

For starters, most things you see around you are built with code. The very thing you’re using to read this article is built with code. Code can teach you skills that you can use for the rest of your life, such as problem-solving and logical thinking. And we’re not the only ones advocating for more coders in the world, so too does Code.org. This non-profit organisation tries to make coding as accessible as possible. They even introduced an annual recurring event called The Hour of Code.

One more, very big, reason why you should learn to code is job security. It is estimated that in the next two decades, 14 to 54 percent of jobs in the United States could be automated. There’s a saying that goes like this: If you can’t beat them, join them. This is true, now more than ever.

Is self-learning the way to go?

Before we reveal the answer to this question, let’s dive a little deeper and establish four different methods of learning.

  1.  You prefer to read instructions or a step-by-step guide, you execute the instructions or steps accordingly.
  2. You prefer to have someone else do it for you first, after which you try it yourself.
  3. You prefer to briefly look at the instructions and try it yourself afterwards.
  4. You prefer to get started right away, you solve the problems as they cross your path. 

If your preferred method of learning is number one, then you are probably interested in the theory behind things. Therefore, you will most likely thrive at a Computer Science degree.

Should you incline towards the second method, then chances are you will learn the most from attending a coding bootcamp. A coding bootcamp is a place where you will meet likeminded people and where you are supported by the teachers. 

The third method strongly indicates that you learn the most from short and concise instructions. You quickly grasp explanations and you have no problem understanding both verbal and written communication. Thus, the place where you should look is on the internet. Specifically, you should look for an online coding course. Most of the courses offer both written and verbal explanations, answers and tutorials.

Finally, the fourth method indicates that you’re an independent learner. You thrive on your own, you do not need anybody else to help you. In the event of you getting stuck, you know what to do and how to do it. Google is most likely your best friend. Should you incline towards the fourth option, then learning to code on your own shouldn’t be a problem.

How do I get started?

Note: you first need to learn the syntax of your preferred programming language. This will make other resources easier to understand. Websites such as Codecademy and Khan Academy can help you with that.

Start small

Should you have little to no coding experience, allow yourself to learn at a convenient pace. Although it may be tempting to do everything at once, you should not do that. The most important thing is to understand concepts. To accomplish this, you can start with basic coding exercises and trying to understand how things work.

Tip: a tool that will help you further break down the code you are using – without having to do anything complicated yourself – is repl.it.

Read books

Although not very popular, books can teach you a lot of things. Including coding. Here are six books that every programmer should have:

  1.  The Art of Computer Programming by Donald Knuth
  2.  Code Complete 2 – A Practical Handbook of Software Construction by Steve McConnell
  3.  Don’t Make Me Think (Revisited) – A Common Sense Approach to Web and Mobile Usability by Steve Krug
  4. Peopleware – Productive Projects and Teams by Tom DeMarco & Timothy Lister
  5.  The Pragmatic Programmer – From Journeyman to Master by Andrew Hunt and David Thomas
  6. Facts and Fallacies of Software Engineering by Robert L. Glass

And, here’s how to make sense of anything that you read from such books.

Treat yourself

Truthfully, coding is difficult. So, how do you keep yourself motivated?

With kids, you can choose to treat them if they did something you desired of them. For example, the first ten times they go to the toilet themselves. In your case, you can treat yourself.

Let’s say you’ve done basic coding exercises every consecutive day for one month straight. In our opinion, that’s what we call discipline and dedication. Therefore, you can treat yourself! Go to the cinema! Buy the $250 jeans! Eat at a fancy restaurant! The options are limitless. As long as you don’t lie to yourself. After all, the only one who suffers from it is you.

Clone popular websites

Find a website you like and reverse engineer it. Yes, a tutorial will help you learn a concept. But according to many designers, building a website from start to finish is what really taught them what they know.

By doing this, you have unlimited options to choose from and you can even try to duplicate websites that have been built by the best developers in the industry. Because it is not a paid job, there is not pressure and you have the freedom to add and leave out elements of the website.

The best thing to do is to start with a simple one-paged website. Once you figured out how to reverse engineer those kinds of websites, you can change to more complicated websites. Also, keep an eye out for techniques such as responsive web design, animations, CSS3 effects etc.

Tip: Online Course Report has a list of tutorials where you can clone 15 well-known sites such as Etsy, WordPress, Quora, Pinterest and more.

Sharing = Caring

As you become more involved in programming, you’ll find out that you have to learn Git. This is where GitHub comes into play, it’s a great place to find people to work together with. When you share your code, you get feedback. The feedback is how you improve. So, don’t be scared to share your (potentially) messy code! After all, everyone started from zero.

If you are ready to start exploring GitHub, here’s how to actually use it.

GitHub.Again is a place where you can have experienced developers review your code. It might be daunting, but you should really do it every now and then. Here’s why:

  • They can check if there are any obvious logic errors in your code
  •  They can listen to your explanation (of what you’re trying to do) and assess whether you managed to translate that into your code in the best possible way
  • They can tell you whether there’s a more efficient way to writing the same string of code

Quantity over quality (at first!)

If you’re just starting out with coding, just code away. In this case it’s better to code more rather than less, focus on quantity. Because ultimately, you learn by doing it, so there’s no shame in writing a ton of code which isn’t necessarily good.

Once you wrote a ton of code, you will probably want to take on something more serious. Such a project might not have a guideline. In that case you have to write all of the code yourself. One way or the other, you have to write code yourself. So, why not start now and build a solid foundation for yourself?

What if I get stuck?

Acknowledge that you’re not perfect

As a human being, you’ll make mistakes. You won’t be able to do everything perfect from the start, or every single time. It’s OK to make mistakes. As long as you learn from them. Coding is about more than just memorizing how to solve a certain problem. So, don’t get discouraged if something doesn’t work. It will the next time. Or the time after that…

Google it

Fact or fable: experience coders don’t Google anything.

You probably know the answer to this question. Google is a man’s best friend. This is also true for experienced developers. If you don’t know something, just Google it. It exists for a reason. There is no shame in Googling something, everybody does it. And if it helps, it helps! Jokes on those who don’t ever Google something.

Find a mentor 

When you’re embarking on your coding journey, it may be useful to find someone you can ask questions to along the way. Again, it is not shameful to ask someone else for help. Senior developers know what you are going through since they’ve been through the same process. Just remember to buy them coffee when you ask them for help. It’s the least you can do.

Breathe

Whenever you do something intensively, it is important to take breaks. So, too, with coding. Take a break whenever you feel like getting a headache, or when you’re stuck for the moment. The moments of quietness will probably also help you to think about what could be wrong about the code you just wrote. The key is to work smarter, not harder.

Will I ever be good enough to be a software developer?

At first, it might seem very scary to apply for a job when in fact, you don’t even have a degree. This is especially true when all you have to show is some badges from Codecademy or a slim GitHub portfolio.

However, nowadays the best software developers are self-taught, just like the founder of NEXT Academy, Josh Teng. If you can demonstrate a strong portfolio, it can be more valuable than a college degree. After all, all they can show is a degree in retrospect to you, who has built several applications, worked on projects and knows one or more programming languages.

Conclusion

Being a good programmer is not impossible and there are many paths that lead you there. Remember that there are fixed rules when it comes to learning how to code.

However, the fact remains that coding is difficult, and it will get more difficult when you learn more. You will need discipline, motivation, will and dedication in order to be a successful programmer. But that’s why you are here for, right?

The key to get started is – to start. Get out there and write your first lines of code. Ultimately, practicing is what will make you a better programmer! And to help you get started, here is a list with 22 places (not physical places, of course) where you can learn how to code for free.

If you do not wish to learn to code on your own, you can always choose for a safer option. Which would be a coding bootcamp. Although learning to code on your own is definitely possible, if you know self-study isn’t something for you, then we advise you to not start on your own.

The coding bootcamp at NEXT Academy is ten weeks long. In those ten weeks, you start off with the essentials. First you learn the cornerstones of coding and with that, you start to build your own website using frontend web development languages and tools such as HTML, CSS and JavaScript. Once you’ve built a good foundation for yourself, you’ll go on to learn more in-depth stuff such as ReactJS and Python. The latter are both backend web development languages and frameworks. To learn more about our coding courses, or the academy in general, go to our website.

Ready to learn?

Let's go