What I learned in 2021

#learning#2021
December 28, 2021

2021 was a great learning year for me. Perhaps one of the most challenging ones as well. Here are some things I learned along the way:

Development

VueJS

This one was unexpected. I never worked on a big Vue project before, let alone two (one Vue 2 and one Vue 3). While I enjoyed most of it, I find the Typescript integration far behind React and Svelte.

SvelteKit

I tried it as soon as the public beta was released. An absolute joy; I can't wait for version 1.0 to use it in production everywhere I can.

Next.js

I got a bit tired of Gatsby and migrated this website to Next.js in February 2021. It's an excellent framework overall, and I wish I could use it more at work.

NestJS

I needed a framework to work on more significant Node.js projects. And I found it.

React Native

I've worked with React Native before, but I had to start a large project from scratch this time. The best next thing would probably be learning Swift / Kotlin to fill the gaps with native app development.

Electron

This was a frustrating one. I learned a lot eventually, but my initial project went up in smoke because of its complexity. I will give it another go in 2022.

React Query

It replaced the redux / redux-saga combo on 90% of my projects.

React-hook-form

It's the kind of tool that takes 30 minutes to learn and saves you so much time.

Java

Working on Adobe Experience Manager, I learned the basics and wrote a few Sling models.

Python

Wrote a middleware using Flask and deployed it to Heroku. That was fun, but I quickly went back to Node.js. I will be on the lookout for some funny Python projects next year.

Apollo Client

Mongoose / MongoDB

Architecture

Turborepo

I tried Turborepo when Vercel acquired it and had some issues. I went back to NX but will for sure revisit it next year.

Git subrepo

When monorepos and npm packages are not an option, git subrepo is a life saviour to share code between projects.

DevOps

Portainer / Rancher

I ran Rancher / Kubernetes (K3s) in my homelab and switched back to Portainer with plain Docker / Docker Compose.

Kemp

An excellent reverse proxy, I coupled it with Cloudflare Origin CA certificates and Cloudflare Access to expose a few self-hosted projects.

Microsoft App Center

I use it a lot for React Native apps, simple and effective.

CI / CD pipelines

I wrote some Gitlab and bitbucket pipelines throughout the year, a great skill to have.

What I wish I had/took time to look at:

GraphQL (server-side)

Authentication (oAuth, JWT)

React server components

Service workers

Web Assembly

What 2021 taught me

Technical blogging is one of the best things you can do for your career.

Knowledge sharing, personal branding, learning by teaching, pick your motivation :)

Contributing to open-source projects doesn't have to be complicated.

Simply fixing a typo in a README.md file can save everyone time. It is a nice feeling when you leave a repository better than you found it.

You're never back to square one.

Coming from a React background, learning Vue was straightforward. So was learning Svelte and many other things. Trust your synaptic connections!