I can still remember myself, a few years younger, searching the internet every day, just to find out what cool new tech there was out in the world.
My reasoning behind this was actually pretty simple:
The fresher and crazier the new tech I use, the better my chances must be to get a high-paying job. The better I keep up with the latest tech, the better my overall chances.
- A younger naive me
But guess what? It didn’t work. It never worked this way.
I know for sure that many aspiring and experienced developers out there still try to chase the latest tech, worrying about their careers or trying to take the next step.
If you’re one of them, stay with me. Let me try to show you what I learned over the course of my (already very long) career, and what helped me calm down and focus on the only things that really matter.
The problem with FOMO
The biological problems
FOMO, the fear of missing out, puts pressure on you (when experienced for a longer period of time).
Sadly, most of us humans are pretty bad at handling pressure. We are not made to sustain a certain amount of pressure over a longer period of time.
Biologically, we were made to be relatively calm beings. Our genetics are still made for us to be hunters and gatherers. We are made to walk for miles and search for something edible. We are made for short intense physical activities like hunting or running away from danger.
This is also why adrenaline exists, the hormone that (in theory) should help us. If you’re put under pressure, your body releases adrenaline as a way to improve your senses and help you over a short period of time. That adrenaline rush then allows you to hunt down your next meal, or run away from a danger that could otherwise kill you.
Adrenaline rushes are usually triggered by one of the following:
Fear
Excitement
Anxiety
Stress
Three of the four triggers of an adrenaline rush already have to do with FOMO. The fear of missing out. Your fear can lead to stress, that stress can lead to anxiety.
The result?
Jitters and irritability
Trouble falling or staying asleep
Frequent headaches
Difficulties with concentration and memory
Your muscles constantly feel tense or sore
Unexplained weight loss
I think we don’t need to argue about the biological implications on your health. They are bad, and you probably want to avoid them like hell. You even should avoid them like hell.
The professional problems
Professionally, there are also quite a few issues with FOMO.
Always running after the latest tech robs you of crucial experience. You usually don’t need more experience with a specific tech stack if you suffer from FOMO. What you actually need is more general experience solving problems.
Changing “your” tech stack regularly, in the beginning, resets your whole learning experience each time. Instead of continuing to learn new concepts and encounter new problems, you confront yourself with a new syntax, new APIs, and new technology-specific problems.
It’s basically like trying to take the steps up somewhere but deciding to take another stairway mid-way by basically jumping down to the bottom again. You never reach the top this way.
In the end, you end up with mediocre experience in a few technologies, without the traits that are usually expected from a more experienced developer.
Next to that, I have already seen quite a few CVs of developers who were definitely suffering from FOMO. Their skills section contained more bullet points and was longer than the section with their previous projects and prior experience.
More often than not, engineers who suffer from FOMO, are only mediocre developers because they have never dived deep enough. They just stopped at a certain level and decided to reset everything because a specific technology was more important to them than all the fundamentals you can learn in (really) any programming language and with any library.
In the end, FOMO kills an engineer’s career because the reality is:
You only advance in your career if you become a better engineer, not a better “user of technology xyz”.
But, what then?
By now, you have probably realized that running after the latest technologies is not the way to get further in your career. But what should you do then? What does really matter?
First of all, calm down. There is no reason for FOMO.
Yes, there are companies out there that solely hire based on experience in very specific programming languages, technologies, and frameworks, but the ones that really matter hire you for your experience as a software engineer.
Google, for example, only hires Software Engineers. You are hired based on your experience and then assigned a team that uses specific languages and tools.
The reasoning behind it?
Software engineers are not defined by the technologies they use. These tools are just that: tools to get a specific job done, with engineering principles.
This is exactly the way it should be. A company usually has one or a few problems they want to solve with software. These problems somehow need to be solved. The solutions need to be usable for the users they are meant for.
All that needs to be done in an economically sustainable way, and the cost must not exceed the budget. Otherwise, the project is either canceled because there is no money left, or an automated solution to a problem becomes more expensive than the prior manual solution.
And how do you do that?
By putting a lot of work into designing a solution and deciding on technologies to use.
The most optimal way, in this case, is deciding what to use based on the key data you have available. What does your budget allow for? What problems need to be solved? Which technologies are capable of solving these issues? And so on.
And, what talent do you need if you really want to do it this way?
Well, you need engineers who have already seen a lot and who are capable of getting into some new technology as fast as possible while still being able to leverage their existing experience.
That experience usually has more to do with the problems themselves, like:
How do you efficiently store data?
How can you decrease the latency as far as possible?
How do you get as much UX as possible into your solution (on the tech side of things)?
How can you work with petabytes of data efficiently?
etc.
This experience is not necessarily gained with different technologies.
Second, get your priorities straight
You need to ask yourself a few questions first:
Where do I want to end up?
What do I really enjoy?
What am I ready to do for it?
Number 1 sets your goals straight. What is your end goal? How far do you actually have to go?
Number 2 ensures you keep your sanity. It makes no sense to learn or work with something you do not enjoy using at all.
And number 3 ensures that you are aware of what you are ready to sacrifice or put into it.
If you put all these answers into a single sentence, it will usually look something like this:
“I want to become a skilled software engineer who enjoys solving problems in [the (frontend|backend|fullstack|mobile|gaming) space | xyz space) (regex is everywhere…), and I am ready to allocate n hours a day to get there.”
Great, isn’t it? A single sentence that defines all of your professional life for the foreseeable future.
But don’t worry, it’s only a mantra. What matters even more is what follows now.
Wherever you want to end up, whatever you enjoy, and whatever you are ready to sacrifice, you won’t get there the way you imagined.
There is one, simple, way to gain all the experience you need, and that is the following:
Pick technologies you like and enjoy using
Build as many projects as you like (although the more the better)
Ensure you face many different problems
Repeat for as long as you enjoy doing it
That. Is. All.
There is usually a way to do everything with as few technologies as possible, without you having to always switch around because you could potentially miss something.
You can do everything with JavaScript and Mongo, you can also build fullstack apps with Python (Hey, Django) and Java (GWT anyone?), or build frontends with Go, and you can even potentially do data science and machine learning in any language. You can use vectors with Postgres, or perform ML with it, and even Redis is a suitable main database nowadays.
This is the crucial thing. Your priority is becoming a competent software engineer, not a competent JavaScript/Python/Whatever developer. A loop is still a loop, a network still works the same way no matter which language you use, and the fundamentals of databases still remain the same, no matter which one you use (a document DB is a document DB, a relational database a relational one, etc.).
You won’t lose much by going down this route.
Yes, there will be companies that won’t hire you as a frontend developer because they expect two years of experience with React instead of Vue. There will be companies that will reject you because you know Java instead of Go.
This isn’t even bad, because a company that is this short-sighted usually also isn’t a very good company to work for.
More than enough companies have a hiring process that does not look at specific technologies but instead puts an emphasis on your experience in a specific area. For these companies, experience in Vue is as good as in React, because they both follow very similar principles, and experience in Go is as good as in Java.
Third and lastly, do everything to enjoy what you are doing
Enjoying the journey that learning software engineering is is way more important than grinding through it and bringing yourself closer to burnout, only because you fear not being accepted the way you are (the reality is…most seniors still suffer from this, so you’re not alone).
If you’re at the beginning, you still have a few years to learn until you can call yourself a senior. If you’re already further down the line, congratulations, you still have years to come. Learning never stops for a software engineer. Really. Never.
Just view this journey as a marathon instead of a sprint, and enjoy some peace of mind. You deserve it.
If you have come this far, let me tell you something:
Thank you for reading this issue!
And now? Enjoy your peace of mind. Take a break. Go on a walk. And if you feel like it, work on a few projects.
Do whatever makes you happy. In the end, that’s everything that counts.
See you next week!
- Oliver