Mastering Full-stack with Javascript's Superpowers
Tags: javascript, node, fullstack, webdev
Published: 2018-03-18 16:30:53

---
title: Mastering Full-stack with Javascript's Superpowers
published: true
description: A frontend developer's guide to full stack web development
tags: javascript, nodejs, fullstack, webdevelopment
cover_image: 'https://i.imgur.com/sGOOLxg.jpg'
---

When I used to freelance as a full stack developer during my college, often I would find myself stuck between context switching in terms of practices and different syntaxes in javascript and php. Although I was making some good side cash and had a bunch of happy clients, the code I was writing was not great as it seemed tough to expertise on every aspect of web development at the same time. 

Being a hardcore JS fan  and ardent lover of interfaces, I decided to focus solely on frontend and after freelancing for a few more months, I join a startup as a frontend developer. I was content with my learnings and adventures in the frontend land... until I came across this yesterday ~

> The roles required to design and develop a web solution require a deep
> skill set and vast experience in the area of visual design, UI/interaction design,  [front-end development](https://github.com/kamranahmedse/developer-roadmap#-front-end-roadmap) and  [back-end development](https://github.com/kamranahmedse/developer-roadmap#-back-end-roadmap).
> Any person who can fill one or more of these 4 roles at a professional
> level is an extremely rare commodity.
> 
> However, given that JavaScript has infiltrated all layers of a
> technology stack (e.g. React, node.js, express, couchDB, gulp.js
> etc...) finding a full-stack JS developer who can code the front-end
> and back-end is becoming less mythical. -[Frontend Handbook
> '18](https://frontendmasters.com/books/front-end-handbook/2018/practice/myth.html)

So I started wondering, why not? I already know frontend, I also manage to write some (crappy but) working backend code in php for my side projects, why not harness my javascript knowledge and become a full stack javascript developer, just by connecting the dots and a bit of learning?

When it comes to learning, the reason majority of our plans fail is because `we don't have an action plan`. And any resolution or goal without a proper plan is bound to fail! So I started there, with the planning.
[fun fact: that's the same reason why our new year resolution's fail!]

I spent the next day researching on topics and resources one needs to learn in course of this journey to be a full stack developer just by harnessing the superpowers of Javascript. So I created a to-do list which starts at the very basics of javascript and build its way up to the more advance concepts, covering all the tech stacks.

![Screenshot from notes app](https://i.imgur.com/YgBfkWW.png)

If you're a front-end developer looking forward to *up your game* or maybe you're already a full-stack developer and want to brush up your skills for an interview or for your next side project, I'm certain, this will be helpful to you.

I posted the list on Github which you can [check it out here](https://github.com/siwalikm/Prep-for-Full-Stack-JS).

In order to stay motivated and track your progress, fork my todo list from Github and commit to your repo with crossed out items, as you progress.

```bash
git clone https://github.com/siwalikm/Prep-for-Full-Stack-JS.git
```
**P.S. Remember: The key is to stay motivated.**

If possible, start learning along with a friend and maybe build something together along the process. If you're learning alone, reach out to people if you get stuck and try to document your learnings. 

You can tweet me (at [@siwalik](https://twitter.com/siwalikm)) about your learnings and adventures on this journey or just to say 'Hi'!

_Best of luck to you!_