2020 has been a year of learning for me and I'm positive that this has been the case for tons of other self taught developers out there. From React to Redux to MERN stack, 2020 has shaped me into becoming a full stack developer, something that I'm passionate about.
Going forward, I have decided to learn the following technologies in 2021. While this is not a 'top 10' list for things that you SHOULD learn, this is just my take on it. Having said that, please feel free to share your opinions or suggest new technologies. I've also left some links to free resources for learning all the technologies I talk about. Alright, enough talk. Let's dive into the main stuff.
One thing that I was grateful for in 2020 was that I was able to build big projects, to a level that it was becoming kind of tedious to keep up with the bugs and potential issues that were popping up. Enter TypeScript! I've heard lots of people praising TypeScript for exactly solving this problem. Since it's also used in lots of production level projects, I see no reason to avoid TypeScript.
I'm excited for this one. So what exactly is react-query, you ask? It is a NPM package which you can use to asynchronously fetch data from an API. That's the simplest explanation that I could come up with. But hey, doesn't Redux with Axios do the same? Yes, but react-query comes with features such as auto-caching, garbage collection, infinite scroll and much more! Definitely something which you can use to improve your developer experience as well as performance. By the way, if you use Redux, you might want to checkout Redux Toolkit.
I've used Bootstrap, Materialialize CSS and Bulma in the past. But somehow, Tailwind CSS still manages to excite me. I've heard great things about it and have also seen some stunning websites built using it. I'm aware of how it is a bit different from other CSS frameworks out there but that's where the fun lies. For the React side of things, I also want to explore Material UI a bit more.
Next is great! I tried it for a brief period of time around the end of 2020 and I see no reason why I shouldn't take it up and use it in my own projects. If you're a React developer, the learning curve is pretty smooth. The benefits it brings, such as server side rendering and automatic image optimization make it well worth learning. Highly recommend it for all the React devs out there.
GraphQL is a query language for fetching data from APIs. What makes it great is that it is capable of exactly what is requested for and getting multiple resources in a single request, thus saving us multiple requests to the API server and improving the performance. I've only been using REST APIs till now and excited to see how GraphQL can improve my future projects.
PostgreSQL or basically SQL databases are something that I've been wanting to give a try for quite some time now. I have used MongoDB my database needs in all my previous projects. I appreciate the freedom of NoSQL databases but SQL databases are widely used as well and can be a better option in some cases. Getting good at SQL and SQL databases is going to be one of my priorities this year.
Resources to get started:
PostgreSQL Tutorial by FreeCodeCamp on YouTube
Resouces to get started:
Jest Crash Course by Brad Traversy on YouTube
Jest Introduction by Web Dev Simplified on YouTube
Resources to get started:
Websites are great, no doubt! But the ease of use that applications provide make it a valuable skill to learn. I personally felt that I could get more users on my projects if only I had a mobile application on top of the website. React Native seems to be a good choice since I already know React and can hugely benefit me through code reuse. There's also Flutter, which uses Dart if you like that more.
Some Honourable Mentions
- Serverless technologies such as AWS
- Framer Motion
- HTML Canvas
- Docker and Kubernetes
So that was list of technologies to learn this year. Now let's get to work and sharpen our skills as developers!