I Regret Being a Hipster in Tech
Tags: rails, react, javascript, django
Published: 2021-06-27 10:08:19

## The Problem

For the last five or more years **I've been doing it all wrong**. I thought that learning the newest, trendiest, and hippest library, framework or language out there was the way to go. I've curated a list of **some** of the technologies I've learned thought-out the years:

> Docker, Kubernetes, Terraform, Rancher, Helm, Angular, React, Vue, Adonis.js, Prisma, Gatsby, GraphQL, Postgres, MongoDB, Cassandra, Socket.io, Webpack, SASS, Gulp, Next.js, Nuxt.js, Meteor, Express, Koa, Elastic, Algolia, jQuery, TypeScript, Node.js, Deno.js, Go, Python, Ruby, PHP, Java, among many more.

What is the problem with this list? Well if you look closely, I learned many tools that solve similar problems, I am getting ahead of my self but **pro-tip**: you don't have to learn every single one out there 😉.

Also, there's been a lot of software architecture changes during this time, we've had the **monolithic** approach, then **client-service** came along, need I remind you of the complicated **microservices** architecture? and now we have **serverless**.

Look, I could keep going on... As you can see (and probably you've been in a similar situation) I've invested a lot of my free time learning different tools that **achieve similar results**.

Like so many developers out there, I started to **burn out**.

Long story short, I took some vacations and went to the German Alps 🏔 to contemplate about life and find what was I doing wrong. During my mountain retreat, Apple had the WWDC﹡, and of course, me being a nerd, I just couldn't miss the event therefore I joined.

And all of a sudden it was clear to me what do I needed... it was **stability** in my day-to-day as a developer. Something Apple offers with their WWDC.

Allow me to explain...

The beauty of this is that it gives guidance to the Apple developers, there are no new disruptive technologies that pop out of nowhere, it's a clear and predictable roadmap, which allows the developers to follow this guided path, and simply focus on getting better at what they do and very **occasionally learn** the new way of doing things.

Now... I love the web, I was not going to change my career and become a mobile developer overnight. So naturally, I started looking for alternatives in my domain. That's when I crossed paths with the well-known and **battle-tested MVC frameworks** 🐍 💎.

## A New Hope
![Luke Skywalker - A New Hope](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tspz75bhbk6ic7fcmu0w.png)

I've worked with different MVC frameworks in the past, like **Django**, but they were more like stepping stones towards my career as a **__wheel-reinventor engineer__**.

I tried **Adonis.js**, which is a very good JavaScript MVC framework, I truly enjoyed working with it, although at the time it had a **small community** and many **new breaking-changes were being introduced** to the framework as it was being actively developed.

That's when I decided to go with something more mature, hence boring, **and what is more boring than Rails?**
I immediately fell in love with the framework and the community behind it.

After a few months of learning the Rails way, I started to realize something... I felt lazy, before I used to learn new skills for at least 4 hours/day (after working 8 hours). Now, all of a sudden I was finally using my free time in a different and healthier way, **but why was I feeling lazy?**

Throughout the years I got used to the idea that I had to be studying every single day, **like if I had some sort of homework** because you know - that's the life that I chose by becoming a software engineer (although it's true to some extent).

Don't get me wrong, **learning new skills during your free time is important**, but it's **also** important to enjoy other aspects of **life**, while still learning occasionally in your free time or during work.

This is what I did, instead of using most of my free time to keep up to date with tools I **probably will never use**. I leveraged my job to introduce new technologies (when the need arises). This way I can stay relevant and scratch my itch for learning new stuff.

Nonetheless, it took me some time to **stop feeling guilty** and start appreciating the stability that I was looking for, and let me tell you something, it is well worth it ✌️.

Now after work, I don't open Udemy or Hacker News, I'd rather go for a stroll 🚶‍♂️, bike 🚵‍♂️, cook for my girlfriend 🧑‍🍳, do some yoga 🧘‍♂️ - you get the point. I am no longer a __prisoner__ of tech and guess what? I enjoy my work, coding and life more now than ever.

## Learnings

There will always be something new to learn, you can try and stay up-to-date, get burned out, take some vacations and repeat this **never-ending cycle**.

It's okay (and encouraged) to **learn** new and hipster tech every once in a while, I certainly still do it **occasionally** for fun, but it's not longer (and thankfully) part of my day-to-day life.

If you feel that you are in a similar situation **don't wait to get burned out**, act - make a change. I did it and it has improved my life drastically.

Being a good, happy and healthy developer it's **not** knowing everything, but rather understanding what you need to know.

> "Life is really simple, but we insist on making it complicated." 
~ Confucius

## Appendix

**WWDC**
It is a yearly event where Apple presents to their community of developers the improvements coming to the Swift language as well as new features arriving to their operating systems.