How I Learnt To Code
Tags: javascript, codenewbie, career
Published: 2020-03-01 12:13:33


Learning to code has completely changed my life and it continues to change others:

{% twitter 1220759574086606848 %}

>It can change yours too!

I started as a graphic designer in advertising and moved on to app design shortly after, then got into tech. I’ve worked in tech for 3yrs now, mainly as a designer for startups (and my own company).

I viewed coding as something that would take me a lifetime to understand. I had been trying to learn little by little, struggling with simple HTML & CSS (never touched JavaScript). I thought I would have to take a masters degree in computer science or pay heftily for a Bootcamp. I used to always ask around, “what was the best way to learn?” I want to be able to answer that for others now.

Ultimately, my main reason for not learning back then was that I didn’t have the drive for it. I am a problem solver I just hadn’t had a problem I needed solving with code at the time, nor did I mind paying others to do the heavy lifting for me (😓 a huge mistake, a little on that later).

This drive came when starting my own company. We had paid [three] developers over the course of two years to make an app for us that barely materialised or did what we asked for. It got so frustrating for me that I decided to do it myself.

![Thanos Gif](https://miro.medium.com/max/440/0*D4Kt7hs8Dz9aGxv9.gif)
{% twitter 855109555457589248 %}

Fast forward ~3yrs, I’m a full-time Frontend & UX developer and have incredulously increased my income… all because of that frustration (or drive to solve a problem).

I say all of this to say: If you want to learn to code, you need to have a drive that will help you stay committed. If you’re going to be half-hearted, it will just take you longer 😅.

Having developers screw me over was the best thing to ever happen to me.

---

### Prerequisites
*The coding language this post will be referring to is [JavaScript](https://www.w3schools.com/whatis/whatis_js.asp)
- A drive to solve problems
- The ability to break problems into smaller, one action tasks
- A lot of patience
- Incredible work ethic

I taught myself how to code by waking up at 5 in the morning every day for 3 months straight and read code before I went to work at 10.

Lemme stop you right here and say this if you ever want to learn how to code, pay attention to writing code that is *readable*:

>#### “If you want your code to be easy to write, make it easy to read.”
- That is the endless journey of being a developer 😅

This was one of the main reasons why I was able to learn so quickly. Having a bunch of code in front of you that is written like a “How to…” tweet helps a lot when you want to learn to code. Reading a somewhat clearly defined function name or variable, helps you understand what the code is doing:

![Lines of code](https://miro.medium.com/max/3336/0*SDNP_WE33f8oUOra.png)
<figcaption>Code snippet from [forecash app](https://forecash.gq)</figcaption>

[Plus a lot of code has detailed documentation (with examples) on how certain code functions work](https://stripe.com/docs/payments/accept-a-payment#web). 

People see lines of code and instantly think of the matrix (and all those who write code are Neo). Coding is just another language, much like learning how to write in Spanish or French. It’s not like having to be like Neo and seeing the matrix, though it does feel like having that kind of power in your hands.

![Neo from the matrix dodging moves](https://miro.medium.com/max/1000/0*6o5obcedcL5coeeY.gif)
<figcaption>Bending applications to your will</figcaption>

The good thing about code (if you already understand English) is that most, if not all, code are written in English. Though there are many languages to write code in. For clarity, let’s call them “Libraries”.

Think of coding libraries as a form of slang. Take the slang phrase, “What you saying” for instance, which in plain English means, “How are you doing” (well, one of its meanings).

![Mandem on the wall](https://miro.medium.com/max/2048/0*54Unh-bYkvIZb8q_.jpg)

They both have their own ways of saying the same thing. Only that certain cultures of people understand the slang, but generally speaking, plain English is the backbone that connects the two. It’s the same thing with coding. Well, JavaScript anyways:

>“Plain” JavaScript, also called “vanilla” JavaScript (that is, JavaScript written without libraries), is basically the English language.

>All the other libraries like [React](https://reactjs.org/), [Vue](https://vuejs.org/), [Angular](https://angular.io/) etc are the “slang” languages.

[More reading on that here](https://www.framer.com/blog/posts/react-vs-vanilla-js/)

---

[Originally posted here](https://www.efosaso.com/posts/3)