How to Teach Yourself How to Code

May 22, 2021
|
Programming

During my first year of teaching myself how to code online, I consumed a lot of content and asked questions to people who were way more advanced than me. I did this to progress faster, and to avoid making mistakes that would make me lose time.

Here is a list of the best and concise tips that can help you in your coding journey if you are starting out or learning.

1. Take Your Time

Programming is an advanced skill, and learning the basics of it will take you a few months. After that, you will be learning constantly to stay up to date and increase the value you can provide.

Impatience is your enemy, it will make the whole process of learning harder. It's important to enjoy the process and being curious, you are playing the long game.

If you loose motivation because you are not progressing quickly enough, remember why you started learning how to code, and remember it's worth it. You will be in a better spot from where you are in a few years if you work on yourself and your skills!

2. Build Solid Fundamentals

Many people start with HTML, CSS, & JS and start building websites with tutorials from day 1. Even if some people become successful devs by doing this, it is not the most optimal strategy. I understood quickly that the fundamentals are the most important thing to master after having to re-learn how to use my terminal, git, and programming terminology after a few months of learning.

To build solid foundations for programming, it helps a lot to have a good understanding of the following things:

  • Your Terminal & Text Editors
  • Variables & Constants
  • Booleans, Conditionals & Operators
  • Data Types
  • Scripting
  • Looping
  • APIs
  • Object-Oriented Programming (nice to have)

And also to have a good mindset by being curious and to be ready to learn more than you initially expected.

3. Figure Out What You Want to Do First

Before learning your first programming language, knowing what you want to do is important, do you want to do web development and build web apps? Or Video Games? Or do you want to go into Blockchain? Or Data Science?...

Depending on your choice, you will learn different languages, and you will use different tools. Taking the time to choose a stack adapted for what you want to do will save you time and headaches in the future!

4. The Power of Being Language Agnostic

Language agnosticism is your ability as a programmer to not be limited to a very specific set of languages, but Instead, to be able to quickly learn new languages which fit your needs and to use them effectively.

Most programming languages you learn will eventually change a lot, or simply become completely obsolete, but it is okay because:

"Obsolescence is the very hallmark of progress."
Henry Ford II

This is why it is a bit absurd to see people defending and fighting to say that their language is the best.

Programming languages are just tools, some are more efficient than others for building certain things, for example python for Machine Learning, or C# for building video games.

If you have solid fundamentals, you will be able to adapt to new languages quickly, as the concepts are generally the same, but with a different syntax.

5. Avoid Tutorial Hell

When starting out, it is comforting to do tutorials, you get a good dopamine hit because you are writing lines of code, but the problem is that you won't remember anything by blindly copying from tutorials.

A good dynamic is to get familiar with a new language you are learning by doing a short tutorial, and then go straight to building a real project for yourself, a friend, or a client with this language to internalize things much faster.

6. It's Okay to Not Know Everything

Last tip, just remember that you don't need to know everything about development, you just need to know that you can learn how to build what you want.

Written by Alexandru Golovatenco

I’m slowly building a portfolio of SaaS, while sharing what I learn along the way.

You Might Also Like

No items found.

Thank you!

Oops! Something went wrong while submitting the form