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