52-week breakdown of becoming a full-stack developer in 2021

52-week breakdown of becoming a full-stack developer in 2021

Hi everyone. First of all, happy holidays! 2020 has been a rough year, but you can make 2021 a year where you can achieve anything. Let’s start with being a full-stack developer?

Introduction

Originally, the 52-week breakdown is this free interactive deck. But a few people reached out to me to make this in a form of an article too. So here we are. This is a weekly breakdown of becoming a full-stack developer in 2021.

Disclaimer

This is a very opinionated deck/blog post i.e. probably lots of technologies you love as a full-stack developer might be missing. This is by choice, because I’m sharing my tech stack with you, the things I know, use, and powers codedamn.com’s infrastructure.

This tech stack is really full-stack, like really, with no/little overlapping tech (i.e. no need to learn Angular and React both) and when you read this, you probably might be overwhelmed a bit. But depending on what your goal is, say getting a job, you will be eligible much before you learn all the technologies listed here. You should use this deck as your guiding north star, not as a single-truth thing put on a pedestal. Let’s start!

Week 01

Week starts at: January 1, 2021

In this week, you should go for the following topics:

Basics of HTTP/How the internet and web work
A brief introduction to HTML and CSS
Creating very simple pages with HTML and CSS

Optional video courses to consider for week 1 – find here – updated frequently

Optional hands-on practice projects to consider for week 1 – find here – updated frequently

Week 02

Week starts at: January 8, 2021

In this week, you should go for the following topics:

CSS layout systems – flexbox and grid, box model, and more
Forms in HTML
Advanced HTML/CSS
Practice with projects

Optional video courses to consider for week 2 – find here – updated frequently

Optional hands-on practice projects to consider for week 2 – find here – updated frequently

Week 03

Week starts at: January 15, 2021

In this week, you should go for the following topics:

JavaScript introduction and basics
Work with HTML/CSS/JavaScript together
Do some simple projects with JavaScript

Optional video courses to consider for week 3 – find here – updated frequently

Optional hands-on practice projects to consider for week 3 – find here – updated frequently

Week 04

Week starts at: January 22, 2021

In this week, you should go for the following topics:

Build simple projects with HTML/CSS/JavaScript
Learn about DOM APIs and how to interact with them
Learn how to use browser DevTools

Optional video courses to consider for week 4 – find here – updated frequently

Optional hands-on practice projects to consider for week 4 – find here – updated frequently

Week 05

Week starts at: January 29, 2021

In this week, you should go for the following topics:

Briefy go over through advanced JS concepts. You do not absolutely need to understand them
Sharpen your logical thinking with Project Euler challenges. Do as much challenges as you can
These challeneges will help you build a mathematical approach of solving problems

Optional video courses to consider for week 5 – find here – updated frequently

Optional hands-on practice projects to consider for week 5 – find here – updated frequently

Week 06

Week starts at: February 5, 2021

In this week, you should go for the following topics:

Complete more JavaScript projects and classrooms
Understand JS under the hood

Optional video courses to consider for week 6 – find here – updated frequently

Optional hands-on practice projects to consider for week 6 – find here – updated frequently

Week 07

Week starts at: February 12, 2021

In this week, you should go for the following topics:

Introduction to Node.js
Creating a simple backend server
Serving static assets

Optional video courses to consider for week 7 – find here – updated frequently

Optional hands-on practice projects to consider for week 7 – find here – updated frequently

Week 08

Week starts at: February 19, 2021

In this week, you should go for the following topics:

Learn about linux fundamentals
Working with basic linux commands

Optional video courses to consider for week 8 – find here – updated frequently

Optional hands-on practice projects to consider for week 8 – find here – updated frequently

Week 09

Week starts at: February 26, 2021

In this week, you should go for the following topics:

Learn about MongoDB
Create a database and link it with simple Node backend
Create simple apps like URL shortner

Optional video courses to consider for week 9 – find here – updated frequently

Optional hands-on practice projects to consider for week 9 – find here – updated frequently

Week 10

Week starts at: March 5, 2021

In this week, you should go for the following topics:

Implement authentication using DB
Learn about cookies and session authentication

Optional video courses to consider for week 10 – find here – updated frequently

Optional hands-on practice projects to consider for week 10 – find here – updated frequently

Week 11

Week starts at: March 12, 2021

In this week, you should go for the following topics:

Cover NPM and how to work with it
Learn about common npm commands and initializing different projects with it

Optional video courses to consider for week 11 – find here – updated frequently

Optional hands-on practice projects to consider for week 11 – find here – updated frequently

Week 12

Week starts at: March 19, 2021

In this week, you should go for the following topics:

Learn to work with git and GitHub
Put your past projects online on GitHub
Explore GitHub pages

Optional video courses to consider for week 12 – find here – updated frequently

Optional hands-on practice projects to consider for week 12 – find here – updated frequently

Week 13

Week starts at: March 26, 2021

In this week, you should go for the following topics:

Introduction to React
Fundamentals of React and getting started

Optional video courses to consider for week 13 – find here – updated frequently

Optional hands-on practice projects to consider for week 13 – find here – updated frequently

Week 14

Week starts at: April 2, 2021

In this week, you should go for the following topics:

Building more projects with React
Learning to use common React practices

Optional video courses to consider for week 14 – find here – updated frequently

Optional hands-on practice projects to consider for week 14 – find here – updated frequently

Week 15

Week starts at: April 9, 2021

In this week, you should go for the following topics:

Learn more about data fetching and convert existing apps to new solutions
Look for react-query
Caching/Invalidation

Optional video courses to consider for week 15 – find here – updated frequently

Optional hands-on practice projects to consider for week 15 – find here – updated frequently

Week 16

Week starts at: April 16, 2021

In this week, you should go for the following topics:

Learn about UI systems.
Look for Material UI this week

Optional video courses to consider for week 16 – find here – updated frequently

Optional hands-on practice projects to consider for week 16 – find here – updated frequently

Week 17

Week starts at: April 23, 2021

In this week, you should go for the following topics:

Learn about UI systems.
Look for tailwind CSS this week

Optional video courses to consider for week 17 – find here – updated frequently

Optional hands-on practice projects to consider for week 17 – find here – updated frequently

Week 18

Week starts at: April 30, 2021

In this week, you should go for the following topics:

Learn about Next.js
Shift a few past React apps to Next.js

Optional video courses to consider for week 18 – find here – updated frequently

Optional hands-on practice projects to consider for week 18 – find here – updated frequently

Week 19

Week starts at: May 7, 2021

In this week, you should go for the following topics:

Learn about SSR/SSG/Incremental building with Next.js
Learn about Next.js API/lambda functions

Optional video courses to consider for week 19 – find here – updated frequently

Optional hands-on practice projects to consider for week 19 – find here – updated frequently

Week 20

Week starts at: May 14, 2021

In this week, you should go for the following topics:

Learn about deploying Next.js apps on vercel

Optional video courses to consider for week 20 – find here – updated frequently

Optional hands-on practice projects to consider for week 20 – find here – updated frequently

Week 21

Week starts at: May 21, 2021

In this week, you should go for the following topics:

Decouple your Next.js app from backend
Use a different standalone REST API server in Node for backend
Learn about JWT authentication

Optional video courses to consider for week 21 – find here – updated frequently

Optional hands-on practice projects to consider for week 21 – find here – updated frequently

Week 22

Week starts at: May 28, 2021

In this week, you should go for the following topics:

Start learning TypeScript
Why it is needed
Setting up environment
First few programs

Optional video courses to consider for week 22 – find here – updated frequently

Optional hands-on practice projects to consider for week 22 – find here – updated frequently

Week 23

Week starts at: June 4, 2021

In this week, you should go for the following topics:

Learning about tsconfig options
Strict JavaScript typing
Converting your very first HTML/CSS/JS projects in typescript

Optional video courses to consider for week 23 – find here – updated frequently

Optional hands-on practice projects to consider for week 23 – find here – updated frequently

Week 24

Week starts at: June 11, 2021

In this week, you should go for the following topics:

Use Next.js or React with TypeScript
Learn about “typing” Next.js code

Optional video courses to consider for week 24 – find here – updated frequently

Optional hands-on practice projects to consider for week 24 – find here – updated frequently

Week 25

Week starts at: June 18, 2021

In this week, you should go for the following topics:

Cover a few advanced TypeScript syntax along the way
Practice more with TypeScript

Optional video courses to consider for week 25 – find here – updated frequently

Optional hands-on practice projects to consider for week 25 – find here – updated frequently

Week 26

Week starts at: June 25, 2021

In this week, you should go for the following topics:

Practice week – 1
You have enough tech-stack knowledge right now to build things. Stop learning new things for a while and build personal projects with your knowledge so far

Optional video courses to consider for week 26 – find here – updated frequently

Optional hands-on practice projects to consider for week 26 – find here – updated frequently

Week 27

Week starts at: July 2, 2021

In this week, you should go for the following topics:

Practice week – 2
You have enough tech-stack knowledge right now to build things. Stop learning new things for a while and build personal projects with your knowledge so far

Optional video courses to consider for week 27 – find here – updated frequently

Optional hands-on practice projects to consider for week 27 – find here – updated frequently

Week 28

Week starts at: July 9, 2021

In this week, you should go for the following topics:

Practice week – 3
You have enough tech-stack knowledge right now to build things. Stop learning new things for a while and build personal projects with your knowledge so far

Optional video courses to consider for week 28 – find here – updated frequently

Optional hands-on practice projects to consider for week 28 – find here – updated frequently

Week 29

Week starts at: July 16, 2021

In this week, you should go for the following topics:

Practice week – 4
You have enough tech-stack knowledge right now to build things. Stop learning new things for a while and build personal projects with your knowledge so far

Optional video courses to consider for week 29 – find here – updated frequently

Optional hands-on practice projects to consider for week 29 – find here – updated frequently

Week 30

Week starts at: July 23, 2021

In this week, you should go for the following topics:

Introduction to GraphQL
Start learning GraphQL and schemas to create APIs
Use express-graphql

Optional video courses to consider for week 30 – find here – updated frequently

Optional hands-on practice projects to consider for week 30 – find here – updated frequently

Week 31

Week starts at: July 30, 2021

In this week, you should go for the following topics:

Covert an existing REST app you created into GraphQL backend
Create frontend in Next.js (decoupled)
Use TypeScript on frontend and backend both

Optional video courses to consider for week 31 – find here – updated frequently

Optional hands-on practice projects to consider for week 31 – find here – updated frequently

Week 32

Week starts at: August 6, 2021

In this week, you should go for the following topics:

Continue working on GraphQL
Learned about typed-graphql using graphql-code-gen
Shift to Apollo GraphQL client (for React/Next.js) and server (for Node.js)

Optional video courses to consider for week 32 – find here – updated frequently

Optional hands-on practice projects to consider for week 32 – find here – updated frequently

Week 33

Week starts at: August 13, 2021

In this week, you should go for the following topics:

Create your first full-stack app locally next 2 weeks
Use Next.js for frontend
GraphQL for backend
TypeScript on both

Optional video courses to consider for week 33 – find here – updated frequently

Optional hands-on practice projects to consider for week 33 – find here – updated frequently

Week 34

Week starts at: August 20, 2021

In this week, you should go for the following topics:

Create your first full-stack app locally next 2 weeks
Use Next.js for frontend
GraphQL for backend
TypeScript on both

Optional video courses to consider for week 34 – find here – updated frequently

Optional hands-on practice projects to consider for week 34 – find here – updated frequently

Week 35

Week starts at: August 27, 2021

In this week, you should go for the following topics:

Learn about cloud deployment with DigitalOcean
Create your first droplet
Revise about ssh and linux fundamentals

Optional video courses to consider for week 35 – find here – updated frequently

Optional hands-on practice projects to consider for week 35 – find here – updated frequently

Week 36

Week starts at: September 3, 2021

In this week, you should go for the following topics:

Learn about NGiNX and reverse proxies
Learn to serve static files on production using NGiNX
Learn to link your backend process to NGiNX

Optional video courses to consider for week 36 – find here – updated frequently

Optional hands-on practice projects to consider for week 36 – find here – updated frequently

Week 37

Week starts at: September 10, 2021

In this week, you should go for the following topics:

Manually deploy your backend app on your droplet
Install relevant softwares (mongodb/node/etc) and pull code from GitHub
Link your frontend Next.js app deployed on vercel to your droplet backed
Learn about DNS Records and mapping to a real domain name for backend
Make your app live

Optional video courses to consider for week 37 – find here – updated frequently

Optional hands-on practice projects to consider for week 37 – find here – updated frequently

Week 38

Week starts at: September 17, 2021

In this week, you should go for the following topics:

Learn about GitHub Actions and configuration file
Configure your backend build to be deployed on repository push

Optional video courses to consider for week 38 – find here – updated frequently

Optional hands-on practice projects to consider for week 38 – find here – updated frequently

Week 39

Week starts at: September 24, 2021

In this week, you should go for the following topics:

Learn about unit testing with react-testing-library
Learn about end-2-end testing with Cypress
API testing

Optional video courses to consider for week 39 – find here – updated frequently

Optional hands-on practice projects to consider for week 39 – find here – updated frequently

Week 40

Week starts at: October 1, 2021

In this week, you should go for the following topics:

Write end-2-end tests for your past Next.js applications using Cypress
Integrate these tests in your automated deployment pipeline using GitHub Actions

Optional video courses to consider for week 40 – find here – updated frequently

Optional hands-on practice projects to consider for week 40 – find here – updated frequently

Week 41

Week starts at: October 8, 2021

In this week, you should go for the following topics:

Learn about Docker
Setup a container and learn about benefits of containerization in production

Optional video courses to consider for week 41 – find here – updated frequently

Optional hands-on practice projects to consider for week 41 – find here – updated frequently

Week 42

Week starts at: October 15, 2021

In this week, you should go for the following topics:

Learn about Dockerfile
Learn about port mapping/containers talking to each other
Learn about persistent volumes (for databases)
Create a Dockerfile for your previous backend builds of GraphQL locally

Optional video courses to consider for week 42 – find here – updated frequently

Optional hands-on practice projects to consider for week 42 – find here – updated frequently

Week 43

Week starts at: October 22, 2021

In this week, you should go for the following topics:

Use GitHub Actions to change your deployment pipeline to build and deploy as a container on your server

Optional video courses to consider for week 43 – find here – updated frequently

Optional hands-on practice projects to consider for week 43 – find here – updated frequently

Week 44

Week starts at: October 29, 2021

In this week, you should go for the following topics:

Learn about server-side caching (for DB queries, etc.) with redis
Explore cloudflare for caching
Learn about CDNs and how they speed up delivery

Optional video courses to consider for week 44 – find here – updated frequently

Optional hands-on practice projects to consider for week 44 – find here – updated frequently

Week 45

Week starts at: November 5, 2021

In this week, you should go for the following topics:

Learn about web security
XSS/CSRF/XSRF/SQLi
Other common/OWASP vulnerabilities

Optional video courses to consider for week 45 – find here – updated frequently

Optional hands-on practice projects to consider for week 45 – find here – updated frequently

Week 46

Week starts at: November 12, 2021

In this week, you should go for the following topics:

Create an AWS account
Learn about SES to send emails programmatically
Learn about a few serverless technologies
Learn about lambdas

Optional video courses to consider for week 46 – find here – updated frequently

Optional hands-on practice projects to consider for week 46 – find here – updated frequently

Week 47

Week starts at: November 19, 2021

In this week, you should go for the following topics:

Learn about scaling tech
Horizontal/vertical scaling
Containerization and migration cloud provider-agnostic codebase
MongoDB Atlas

Optional video courses to consider for week 47 – find here – updated frequently

Optional hands-on practice projects to consider for week 47 – find here – updated frequently

Week 48

Week starts at: November 26, 2021

In this week, you should go for the following topics:

Build build build
Build end-2-end projects with your current knowledge
Deploy them on digitalocean/any other cloud

Optional video courses to consider for week 48 – find here – updated frequently

Optional hands-on practice projects to consider for week 48 – find here – updated frequently

Week 49

Week starts at: December 3, 2021

In this week, you should go for the following topics:

Build build build
Build end-2-end projects with your current knowledge
Deploy them on digitalocean/any other cloud

Optional video courses to consider for week 49 – find here – updated frequently

Optional hands-on practice projects to consider for week 49 – find here – updated frequently

Week 50

Week starts at: December 10, 2021

In this week, you should go for the following topics:

Build build build
Build end-2-end projects with your current knowledge
Deploy them on digitalocean/any other cloud

Optional video courses to consider for week 50 – find here – updated frequently

Optional hands-on practice projects to consider for week 50 – find here – updated frequently

Week 51

Week starts at: December 17, 2021

In this week, you should go for the following topics:

Build build build
Build end-2-end projects with your current knowledge
Deploy them on digitalocean/any other cloud

Optional video courses to consider for week 51 – find here – updated frequently

Optional hands-on practice projects to consider for week 51 – find here – updated frequently

Week 52

Week starts at: December 24, 2021

In this week, you should go for the following topics:

Build build build
Build end-2-end projects with your current knowledge
Deploy them on digitalocean/any other cloud

Optional video courses to consider for week 52 – find here – updated frequently

Optional hands-on practice projects to consider for week 52 – find here – updated frequently

Conclusion

That was exhausting, wasn’t it? But guess what, you almost never need to become a full-stack developer for getting a job. Like I said, you’re very likely to get a job far sooner than doing this weekly task followup for a year. But with that said, if you’re someone really looking to challenge yourself and stand apart from the crowd, would you like to take this #365DayChallenge.

Did you like this post? Please send some feedback my way on Twitter and Instagram and I will be happy to reply/connect there. 🙂

Sharing is caring

Did you like what Mehul Mohan wrote? Thank them for their work by sharing it on social media.

0/10000

No comments so far