How long does it take to learn to code?
Tags: javascript, beginners, codenewbie, webdev
Published: 2021-05-21 12:28:16

In one word, **FOREVER**!

You might think I am exaggerating, but [learning to code](https://js.coderslang.com) is an iterative and lifelong process. Every day new technologies are being developed to optimize old workflows or introduce new and more efficient workflows. Staying up to date with these technological advances and breakthroughs is important to stay relevant to the ever-changing workplace landscape.

## First Steps

Let's backtrack for a moment, if you are a beginner just starting on your **coding** journey or someone learning to **code**, coming to know that learning to **code** is a journey, not a destination could seem quite daunting and might deter you from carrying on, but stay with me. Learning to **code** is highly dependent on what your aim is, what you want to do with your skills after you learn to **code**.

If you are learning to **code** as a hobby, your aim could be learning the basics of **programming**, then try out a bunch of avenues in **coding** and pick the niche that resonates the best with you. If you picked up **coding** for professional enhancement or switching careers, you might want to focus on developing the skills that are in high demand and can be picked up fast like **Web Development**.

## Learning never stops

If you want to build the software of your dreams, after [learning the basics](https://js.coderslang.com/sign-in), you should break down the features of the software and then focus on learning those technologies only.

One of the things to keep in mind is you will face a plethora of challenges, especially at the beginning: _when you don't know what you don't know_. But as you practice more and gain more experience, you will discover more ways on how to write good quality **code**. Going from this weird mix of single letter functions and variables:

```js
const a = [];

function f1(x) {
	a.push(x);
}

function f2(x) {
	console.log(a);
}

f1(Date.now());
f1(Date.now());

f2();
```

to this high quality, self-explaining **code**:

```js
const dateList = [];

function recordDate(date) {
	dateList.push(date);
}

function displayDates() {
	console.log(dateList);
}

recordDate(Date.now());
recordDate(Date.now());

displayDates();
```

Both pieces of code do the same thing, but one is far more understandable just in a glance. This will take time, but as long as you keep going you will definitely get there.

As you progress through your journey you will also learn about the conventions and good practices for the tools and technologies you are using such as usage of _snake case_ in **Python**

```python
snake_case_object.some_function()
```

and _camel case_ in **JavaScript** and **TypeScript**.

```js
camelCaseObject.someFunction();
```

Since **coding** is a journey, make sure you are enjoying the journey. If you are not enjoying the journey choosing a different path is always an option, but make sure that you don't just run after a new shiny object whenever you come across one or the going gets hard, put in 100% of your effort because if you put in half-hearted work, the results you get will be half-hearted as well.

By changing paths I mean if you are highly enthusiastic about **Artificial intelligence, Machine Learning, and Big Data**, if you try **BlockChain Development**, it's highly likely that you would not enjoy the process, or if you are a visual person like me, you would be better off pursuing **Front End Web Development** or **App Development** than diving into the field of **Artificial intelligence**.

**Coding** is truly a vast and wonderful domain, which offers you [endless possibilities](https://js.coderslang.com) from making a script to automate mundane tasks to enable everyday people to change the world by creating new pieces of software like **Google** and **Facebook**.

## Chase your dreams

One of the key ingredients of **coding** is it enables common folks to change the trajectory of where the world is headed, such as the landing of a helicopter on Mars during Mars Helicopter Mission 2020 by **NASA** was facilitated by almost _12,000_ people from all around the world contributing to **Open Source Projects** on **GitHub**.

You can also leave a mark on this world using **programming** as a tool to achieve your dreams. The process of learning to code is not easy, _just like anything worthwhile in life_, but it definitely highly satisfying and financially rewarding as well. Another perk is having such a large number of sub-domains that enables any developer to switch over to another field as he or she seems fit.

If you start off on this journey and keep putting one foot in front of the other even when challenges and difficulties show up, you will make it!

[Learn Full-Stack JavaScript](https://js.coderslang.com)