Ian's project post

Technologies I'm learning in 2021
Tags: learningtechnologies


I'm always looking into new and excited technologies to expand my knowledge and keep up to date with technology in general.

To streamline it a bit I decided to make a list with technologies that I'm planning to learn and maybe even master this year. After this year is over I will be looking back on what I have learned that year and what I haven't. It will be interesting what extra technologies I have learned and what the reason behind it was.

This list will be more of a guidance, and not a fixed list.

Master React

Although I know React, I do not master it. Where I find myself searching solutions for common issues, I find this quite annoying, so this year I will master React and understand its concepts. Understanding its concepts will enable me to learn React packages more quickly in the future.

Master TypeScript

Similar to React, I know TypeScript, but I find myself searching solutions for common issues. I want to expand my knowledge of TypeScript and its compiler. So I can start and complete projects without too much searching.

Learn Flutter or master React Native

I want to be able to build apps for Android and iOS, but I don't want to be able to reuse elements between them. I hate doing double work, so that's why I want to learn 2 interesting technologies which enable that.

Flutter

Flutter I find fascinating, because it enables you to build apps for Android, iOS, Linux, Windows, macOS and the web. This enables huge re-usability in logic between clients.

Although I'm quite interested in Flutter, its built upon the Dart programming language, designed and built by google. This means learning a programming language, which is quite exciting, but does require a lot of dedication.

React Native

React Native is like Flutter in where you can build applications for Android and iOS mainly, with added support for Linux, Windows and macOS using 3rd party packages.

I'm quite convertible with React Native, I still have to search quite often for common issues. The main reason I would learn React Native would be the possibility of sharing business logic between the server, web and app. Which is fascinating and brings stability to the whole stack, because some piece and be build once and used across the whole stack.

Master NestJS

I love NestJS, it's like Laravel (PHP all-in-one framework) for JS. It has everything built in you need for a modern application stack. with features to build monolithic or distributed applications.

I have used it extensively myself and really want to master it this year. Because it's so big, there are still some components that are fairly unknown for me. So I want to learn these components myself.

Learn GraphQL

I love the idea behind GraphQL, where you decide in the frontend which data you get and not in the backend. This is reason enough for me to learn it.

Expand my home lab

In the beginning of 2021, I started with a small home lab consisting of a desktop and a switch. Although I can run several programs on it using Proxmox, I still want to expand it.

Current setup

  • Desktop
    • 4C/8T i7-4790
    • 16GB DDR3
    • 1TB HDD
  • Switch Netgear 16 port switch

I currently use it to run a pi-hole VM and to test concepts with Proxmox, but I already bump into some limitations of the current hardware.

Although my current setup is decent, I have some bigger plans for it. Which requires me to have more storage, something the current desktop does not really support. So I'm looking for a server rack to host some servers, where I will be running a Proxmox cluster, with at least 2 (ideally 3) nodes.

I also want to set up a Steam cache, which actively caches steam, and other launchers, game updates. So I don't have to download updates over the internet, and it can be downloaded before I need it.

I want to move away from Google based products. So I want to have an Owncloud instance running on it with email support and off site backups.

For fun

Although I have quite a few items on this list, I want to keep the mastering and learning fun. This will help me to keep motivated in whatever I'm learning.