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. :)