Tech Wrap-up 2022: A CTO’s Perspective
Let's go over what technologies have been working, what haven’t been working, and what are making us excited for 2023.
Table of contents:
Every year at Quantum Mob we like to take stock of the year and look at our wins and losses. As a software development company, our tech stack is very much at the core of what we do. We work hard, and our tech stack needs to pull its weight. Let's go over what technologies have been working, what haven’t been working, and what are making us excited for 2023.
👑 2022 Champions
Technology moves fast but this year was a whirlwind. I’ve seen more changes in the industry this year than in the three previous years combined. These changes have brought more development speed to all of our coders and we’ve seen some amazing changes on the developer experience (DX) side of things. The best part? Everything that’s changed has made our jobs easier and made us immensely more productive.
T3 Stack
Nothing in 2022 puts a bow on things quite as much as the T3 Stack does. While it may appear as a humble `create-app` style project, the methodology behind it really has sticking power. What do I love? Typesafety everywhere. You can think of it as the Avengers of the Typescript world.
The T3 stack is based on NextJS and brings together the forces of Prisma which TypeScripts your DB objects + interface and combines that with tRPC which does the same on the API endpoint/consumers. This is joined with Zod for TypeScript-first validation. The end result is effortless front-to-back typesafety you can take to prod. Your team, your client, and your friends will thank you.
FlutterFlow
While Quantum Mob is first and foremost a custom development house, we believe low-code solutions certainly have their place. We first tried FlutterFlow near the beginning of 2022 and fell in love with the sheer speed you can get with this tool. It doesn't solve every use case but it is a fantastic addition to your toolbelt and can turn ideas into a mobile app faster than anything we've seen.
Supabase
Supabase is a Backend-as-a-Service (BaaS). They like to compare themselves to Firebase because they solve a lot of similar problems like database management, authentication, file storage, serverless functions, and pushing updates in real-time to your front-end. The promise of a BaaS is that you focus most of your time on client-side code instead of everything else.
However, it's actually the differences that make Supabase interesting. Supabase is fully open source. The database is Postgres, the API gateway is Kong, PostgREST provides a REST API for your tables, and they have created authentication that is powered by postgres row-level security. It even uses real-time to efficiently listen to updates on postgres and push changes to listeners over websockets. While that's a lot of moving pieces, the end result is nothing short of magical and their interface is a joy to work with.
Raycast
Raycast makes the champions list because it is a tool we use throughout the day to get more done. Raycast is an application launcher that replaces Spotlight or Alfred. Try it out right now, you won't regret it.
Raycast makes quick work out of opening apps. But it has features that put it well ahead of the competition in terms of ease of use and utility. Spotlight is limited in functionality and Alfred has a lot of powerful extensions but it is complicated in comparison.
**Some useful features:**
Arithmetic directly in the bar
Convert currency in the bar
It continually learns which options you choose when you type characters, so it gets better at predicting what you're looking for as you use it.
It has an extensive list of apps you can install in its "store"
Assign hotkey shortcuts to open an app or do a function (I have a hotkey for searching my GitHub repos and one for opening VS code)
Create a 'Quicklink' to sites you visit often. This opens that site in your default browser way faster than I could do it previously
Create snippets that replace what you type with something (eg. When I type `@@` it is replaced with my email address. Or another common one is code snippets or email templates that you find yourself typing over and over.)
It is written in Rust (so it's super fast) but the UI is done in React w/ Typescript so the community of developers who can write extensions is massive.
❌ 2022 Losers
MySQL Workbench
This has been on my mind for a while, but it has gotten to the point now where you seriously should just delete MySQL Workbench from your system. There are a few reasons I’ll share.
Let's get the obvious one out of the way: it only works on MySQL which makes it extremely limited. SQL Server? no. Mongo, Redis, postgres? Forget about it.
My second point is another one that should be apparent. Just look at it: It received some version updates a couple of times per decade to match their database rollouts but it is an OLD piece of software and it shows. The last major update was almost 5 years ago and that was so it would support MySQL 8 databases. It is on life support.
Third, there are so many good alternatives now. TablePlus works on Mac and Windows and speaks with lots of databases and just feels so much snappier and better to use. If you are on WebStorm as your IDE, a lot of people love DataGrip. If you are using Prisma in your project, their Studio Browser is so easy to use and navigates to connected objects really well. My point is, there are much better options now.
Try some of these out, and if you still can't get enough of your MySQL workbench, maybe you're just nostalgic. And that's OK too.
Bootstrap + MaterialUI
Bootstrap and Material are one-size-fits-all component libraries that all end up looking the same. You'll often hear proponents of these arguing which of the two look better, rather than if there is a better way to do things.
While Bootstrap and Material will be around a while more, undoubtedly Tailwind has proven the power of utility-first and has put a major dent in the concept of prescribed component libraries that make every website look just like the last. When you try Tailwind you immediately feel the power of customization it gives you. You can make a component look like just about anything from scratch so much easier than trying to figure out how to override or target the existing CSS that comes with your library. And the resulting CSS size ends up being quite a bit smaller.
Redux
I wrote an article over 5 years ago making a case for ditching Redux. You can say I haven't been a fan of Redux for a long time now. Certainly not the amount of boilerplate and rocket science it takes to update one variable in my state or the tangled mess of sagas, stories, actions, reducers, and states you end up with. Come on! Just give me my variable!
Along with excellent alternatives to Redux that are out there today like Zustand and Jotai, a lot of the time you simply don't even need to store as much as you used to. Patterns in React that helped push it that way are Vercel's SWR and React Query. While fetching data more frequently hits the backend harder, it's hard to deny the user experience is less than excellent. You need to make that trade-off between UX and server cost. Starting off with SWR/ReactQuery and then migrating any heavily hit results to your state management is probably the way to go.
MomentJS
This one has been a loser for many years but we still see it in the wild. Seriously, stop using it, it is old, unsupported and a massive import to your project. Take their word for it.
There are great alternatives like DayJS (2kB), date-fns, and Luxon.
This was about 2022. But what about 2023? Well, I am putting together a list of tech-stacks which you can’t do without in 2023. So, keep watching this space and wait for my next article to be published next week. Meanwhile, if you have any questions or thoughts about this article, do reach out and I will be happy to answer.
Newsletter Sign-up
Receive summaries directly in your inbox.