What you should know before learning to code
Tags: programming, learningtocode, coding, freecodecamp
Published: 2019-06-04 19:16:40

---
title: What you should know before learning to code
published: true
description: Ever thought about learning to code, but you just never really knew where to start? You don't know if it is the right thing for you?
tags: programming,learningtocode,coding,freecodecamp
---
![](https://cdn-images-1.medium.com/max/1600/1*aJtI71FFcAJonicZj7G_Bw.jpeg)

Photo by [Daria Nepriakhina](https://unsplash.com/photos/i5iIhHSAtp4?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/search/photos/person-using-macbook?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)

### What you should know before learning to code

Ever thought about learning to code, but you just never really knew where to start? You don't know if it is the right thing for you? You are not sure if it is actually worth all the struggle?

If you had similar thoughts before, you are at the right place to find answers to some of your questions. Let's jump into it.

### Why do it in the first place?

Knowing the benefits you will enjoy by acquiring programming skills will help you to stay motivated even when things do not work out as expected.

#### It is really fun

I mean that it is not boring. It is not repetitive. It always changes. The problems you are going to face and solve will always be new and it is always possible to learn something new from them.

You will not know what challenges will arise when you sit down in front of the computer. However, it always works out in the end and the sensation you get after solving an issue is indescribable.

#### You can make an impact

Through a couple of lines of code, you can make a tangible impact. Seeing the application you've built used by people and simplifying their lives is delightful. Personally, this is one of my favorite perks of the craft.

For example, one of my main role at Relatable is to help the team to focus on the creative aspects of their job by automating boring and repetitive tasks.

#### It is the future

With everything becoming digital, the world needs more developers contributing to building the future of our societies.

The demand for programmers is insane right now and you will be able to choose from dozens of opportunities in so many different industries. I get multiple requests from recruiters **every day** and I don't even have that much experience.

#### Scratch your own itch

Did you ever have an idea for an amazing application, but you could just not build it due to the lack of coding skills?

If you have the necessary knowledge to start a project **whenever** and **wherever** you want, you are set to do amazing things. From writing [a random cat meme generator](https://imgflip.com/memegenerator/51389299/Random-Cat) to a prototype for a new business, everything is possible.

#### Flexibility

All you need to do to code is a computer and internet connection. This means that you don't need to sit in an office all day, you can do your job anywhere in the world.

It's up to you what to do with all this flexibility: [travel the world](https://remoteyear.com/), spend more time with your family, skip the daily commute or all at once.

### Should you do it?

Now all of the benefits I have told you may sound great and you are right, they are all amazing. However, as with everything in life, there are some caveats.

#### Do not do it only for the money

This is the most important one, I think. If you want to work as a developer only for the sake of an increased paycheck, you are not going to get far.

You should have at least an interest in technology. If you do this for the wrong reasons, you will eventually wake up one day hating what you do and that is not desirable, especially not in this field(*see the next point why*).

#### Constant learning

[Technology keeps improving every day](https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f) and you should be able to keep up with it. If you want to stay relevant as a developer, you need to be on a constant lookout for new trends, improvements, and more efficient ways to solve problems.

Learning does not stop after you land your first client or get employed. Ideally, you would set aside weekly a couple of hours to stay up to date. For me, this means going to tech conferences, learning from online courses and reading articles/books.

#### It will take time

No matter which method do you choose, it's going to take time.

If you want to be a professional, you will need to put a lot of work into the process. It is going to be easier to focus and walk the extra mile if you have a goal in mind.

With enough discipline and dedication though, it can be done even if you have other commitments, like a 9--5 job or taking care of your family. Read [Beaus's story](https://medium.freecodecamp.org/how-i-got-a-second-degree-and-earned-5-developer-certifications-in-just-one-year-while-working-and-2b902ee291ab) if you want to get some inspiration.

### How to do it?

It is important to mention, that you don't need to attend a 3--5 years engineering university if you want to become a developer. It might have been the case a few decades earlier, but not anymore.

#### Bootcamps

This might be the fastest and most straightforward ways to do it. Coding bootcamps nowadays are available in most of the bigger cities. These coding schools are intense, usually lasting 4--6--12 months. With enough dedication, a quality boot camp can teach you enough to land your first job.

The biggest advantage of these bootcamps is your driven classmates and your teachers, who can help you to push your limits and hold you accountable.

However, finding a quality school is really hard. Before paying for the training, look for people who finished the course and ask about their opinions. **Make sure to do as much research as possible before committing to it**. Usually, these programs are not cheap and they do take a lot of energy and time.

What if the perfect program does not exist in your area, you don't have the time or the budget?

#### Online courses

Yes, you guessed it right. Going online and taking a course on your own terms might be your best option. You will be able to choose when to learn, what to learn and it does not cost that much like a school. Heck, it can even be free.

There are numerous courses for every level and language available on platforms like [Freecodecamp](https://www.freecodecamp.org/), [Frontendmasters](http://frontendmasters.com), [Udemy](https://www.udemy.com/the-complete-web-development-bootcamp/), [Pluralsight](https://www.pluralsight.com/) or [Udacity](https://eu.udacity.com/).

I personally would recommend starting out on [Freecodecamp](https://www.freecodecamp.org/). It is free, you don't need any programming knowledge to start and there are tons of projects to work on along the way.

The principle still applies here: **do your own research as well** before committing to a method.

#### Personal projects

No matter which way you go, [working on personal projects](https://flaviocopes.com/sample-app-ideas/) will be an extensive part of the process. As with learning in general, the magic happens when you actually start to apply what you have learned.

Doing practical work is not only beneficial in having a deeper understanding of the skills you acquire, but it will also be an excellent starting point in building out your portfolio. Having a couple of projects developed will make finding someone who will pay for your skills easier.

### Conclusion

Learning to code will take a lot of time, dedication and you will face a lot of challenges. However, once the initial struggle is over, a completely new world will open up its doors for you.

You will suddenly have dozens of opportunities to choose from, have the skills to test out almost **any** idea you have and be part of an amazing community which continues to evolve every minute.

Let me know in the comments what do you think about the article, what methods do you use to expand your knowledge and what are the biggest challenges you face in the process of learning or just ask me any questions you have.

Thanks for reading, and subscribe to do not miss out on any of my future posts! 🙏

### About the author

Robert is a full-stack web developer, currently working at [Relatable](https://bit.ly/2WQyMOn). He loves to inspire people, explore new places, read great books, take inspiring pictures and learn new stuff all the time.

Follow him on [LinkedIn](https://bit.ly/2OMrsAp), [Instagram](https://bit.ly/2TQxvVu), [GitHub](https://bit.ly/2Vk7Fup), [Goodreads](https://bit.ly/2HYH9DQ) or [Medium](https://bit.ly/2HYayho).