maintaining my sanity in a world full of new shiny technologies
Software development field is moving too fast. It’s so hard to keep up 100% with latest trends and new technologies. In my opinion it is one the cons of becoming a software engineer. You have to be willing to study lots of new technologies on a daily basis to be able to stay fresh and relevant.
Some of the technology trends are fad and short-lived. They are not going to be something that’s used by a lot of companies in the future but some of them are here to stay.
There’s a common term in JavaScript ecosystem called “JavaScript fatigue” describing newcomer’s Exhaustion of the current state of the endless number of JavaScript frameworks and libraries which seemingly do the same thing with different names.
In this article I intend to shine light on some of the ideas surrounding this issue we are facing and share my opinions on it.
Put emphasis on the timeless concepts Try mastering protocols, Their history and the philosophy behind them. protocols are the underlying principles underneath all of the libraries and tools we are using on a daily basis.
For example, HTTP, TCP, gRPC or Web Sockets are always maintain their definition in terms of technical specs and functionality. What you expect from a HTTP 1.1 request is as solid as bedrock and has never changed since 1997.
HTTP 1.1 RFC, Try reading RFCs as a hobby for in your spare time, You’ll thank me later :D Emphasis on learning timeless concepts and building blocks frees you from paying too much attention to the libraries that implement them and even better, Mastering fundamentals lets you learn new tools and libraries very rapidly.
The best camera is the one you already own, stay focused Cloudflare just announced using new reverse proxy instead of nginx and made a call for open sourcing it. what happens to nginx now? Nothing. Many organizations will keep using it because it is good enough for their needs and not all of us should keep up with the latest shiny thing or make new frameworks for ourselves.
There are many instances when people make new tech to solve their problems. It is important to pay attention to FOMO (fear of missing out). Just because someone is using something fresher doesn’t mean you should switch too.
You can always port your existing knowledge to new technology Imagine using redis or memcached in your projects, you are already familiar with key-value pair in-memory databases. One day there’s a new modern replacement for them called dragonfly.
you already have a good understanding how that new thing works because you are proficient in the less modern tech. You can quickly pick that up if needed and port your legacy knowledge to the new tech so you don’t need to fear missing out.
Underrated skill of our generation, learning what to learn Working in the software industry, you’ll quickly notice you can’t learn everything. It is much about what you ignore than what you pay attention to. As said in the previous section, timeless concepts let you make better decisions in what to learn next and what areas need more of your limited attention.
You have to learn the ability to quickly understand what to ignore and what to pay attention to.
Many dots may come up but you don’t have to connect them! Deprecated or old doesn’t always mean useless There are many web applications built on top of jQuery, working really well serving their customers. Rewriting such applications is just too much work and my not deliver any new value to the business. If new tech doesn’t bring any new business value to your customers you may want to reconsider using it in the first place.
If you enjoy this much chaos, more power to you! Ending this short article with the notion that, there are many people who deeply appreciate how fast things are moving and also are into the chaos surrounding the whole ecosystem. I’m not by no means against this preference and want to mention it is just not my cup of tea. If you like this much chaos, more power to you! stay open-minded but also intentional at the same time.