Skip to content

My Web Development Study Plan For 2021

Posted on:December 17, 2020 at 06:00 PM

As 2020 is coming to an end, I have been reflecting on how much I have learned this year.

For many, including me, it has been a rather difficult year. Unsurprisingly, this has had an impact on what I have been able to learn or build.

Looking towards 2021 with the intention of further improving myself as a developer I have written a list of things I want to study.

Learning

I have many things I want to learn. The things I want to learn generally fall into the following categories:

Back to basics

The fundamentals of the web, JavaScript and programming will always be relevant. I find that even as someone who has been coding for about 5 years that I still benefit from going back to the basics.

These are the fundamentals that I want to study (again)

  1. Event loop
  2. Design patterns
  3. Prototypes and classes
  4. Regular functions vs. arrow functions
  5. Learn more about how web pages are rendered
  6. Promises and async / await
  7. How the internet works (generally)

Refreshers

It’s good to know the tools you use. I want to brush up on things that I use frequently or want to start using more.

These are the things I want to brush up on

  1. Go through all the ReactJS documentation again
  2. Setting up GraphQL servers
  3. Unit testing with React Testing Library
  4. End to end testing with Cypress
  5. Chrome devtools - what’s new that I’m not using yet?
  6. TypeScript

Going outside of my comfort zone

Up until this year I have mostly been “just” a frontend developer. In an effort to go outside of my comfort zone I have been venturing into the backend, but only slightly.

I want to get more familiar with backend in 2021.

  1. Authentication with JWT (JSON Web Tokens)
  2. API Gateways
  3. Restful APIs (I have mostly done GraphQL at this point)
  4. PostgresQL with Sequelize
  5. Server logging best practices beyond console.log
  6. Docker and Docker Compose
  7. Get more familiar with Postman (or Insomnia which is a free alternative)
  8. Authentication library like PassportJS

Serverless and JAMstack

Serverless and JAMstack are things that aren’t going away anytime soon. I have some general knowledge about it, but I haven’t really taken the time yet to dive deeper into these concepts and build something with it. Now that this way of building has matured I think it’s time to give it a fair shot.

  1. NextJS: it’s a framework for React that is designed to work great for JAMstack projects. I’ll probably be taking Wes Bos’ Advanced React course when he updates it since I already purchased it.
  2. A headless CMS like KeystoneJS, Strapi or similar. Probably one of the cheaper ones since some are really expensive.
  3. AWS Lambda and other Amazon services that might come in handy.
  4. Something with a database. Not sure what yet.

There are also things in frontend that I want to check out but haven’t yet.

These are my frontend picks:

  1. TailwindCSS
  2. XState: a state management library
  3. React Hook Form
  4. Styled System: a helper library for Styled Components, which I already use
  5. Design systems

Courses

I have a Frontend Masters subscription and I will be using it of course.

These are the courses I want to check out next year:

  1. JavaScript Hard Parts v2
  2. JavaScript Recent Parts
  3. JavaScript New Hard Parts
  4. Production Grade TypeScript
  5. Production Ready NextJS
  6. Intro to Containers

Maybe I’ll also take a look at the Computer Science Learning Path.

If I can get through the courses above I will also be checking out some of the serverless / JAMstack courses on there.

Additional things to learn

These are things related to my field, but not particularly to my role. These are just things that interest me generally.

  1. How to write good content
  2. Search Engine Optimization (SEO)

Doing

Learning is very important, but to truly learn you must also do.

I would like to start a larger side project in 2021. I’m not sure what it is going to be yet.

I’d like to have a project that has either a proper backend that I can use to learn more about backend or a serverless setup. Or maybe I will build something serverless, but have a serverless application that works together with some sort of backend I can build.

A busy year ahead

In 2020 I definitely overworked myself a couple times to a point where I needed a longer break. I’d love to avoid that in 2021.

Not that taking breaks is a bad thing, but ideally I should not overwork myself to the point where I don’t want to do any coding outside of work for a couple of months. I’d like to be more consistent with programming throughout the year.

With that in mind, I don’t think I will be able do all the things in this list.

I will be moving into my own house and learn a lot of things related to that, so I’ll also have less time to work on web development outside of work.

I can always move things to 2022 if I don’t get to them in 2021.

Happy holidays!