Why Chasing Every Shiny New Framework Won't Make You a Better Developer
My view not so long ago was that I ought to have a basic understanding of every new framework noticed by the community in case I missed a new superstar like React (I know it's a library, but in general, the word framework in the title can be replaced by the word library, though the meaning will not change), and have to play catch-up when my more agile colleagues will skim in the form of employers demand and therefore receive larger salaries.
Later I learned about one of the mental disorders of modern people - FOMO (Fear Of Missing Out) and realized this is very similar to how I was feeling. In short, FOMO is the fear that people around you live more fulfilling and eventful lives than you. Travel more often, have more friends, are more popular, ultimately own more tools, and are more sought after by employers.
If this disorder is not dealt with, it threatens to reduce productivity, deteriorate mental health, sleep disorders, and even depression.
In this article, I'll give you 5 reasons why you shouldn't worry that you'll miss a momentous project if you don't rush to every new framework. After all, you can safely learn a new tool when the real need arises to do so.
1. Tools die slowly#
The fear that a new framework will come out and instantly replace existing development tools is not borne out in practice.
How long ago did you last hear about jQuery? It seems to be a long-forgotten echo from the past, which few people use nowadays. And most likely to support old projects, which for some reason cannot be rewritten in a more modern framework. However, if you go to LinkedIn and type jQuery into the search box, you will be surprised how many jobs still mention this DOM manipulation library. In the US alone, there are more than 55,000 results.
Until now, knowledge of the jQuery API was a sought-after skill. The situation is less favorable, with BackboneJS, for instance, but there are still such jobs. Check it out for yourself.
Bottom line: well-established tools don't die lightning fast; you'll have plenty of time to learn brand-new technology when you need it to advance your career.
2. Technology takes time to cope with childhood illnesses#
Even if the newly developed framework has already made it to version 1.0.0, its developers need time to deal with bugs that do not lie on the surface. They also need time to build a community around it.
I've been through the story many times, running into problems with a recently introduced tool, and there hasn't been a head-on solution yet on Google or on StackOverflow. I had to study the source code and figure out why the thing didn't work the way I wanted it to. Often the reason was that I didn't configure or use the framework correctly. But I would also attribute this to the problem of lack of normal documentation on the product website.
If you are not one of the enthusiasts who have free time and, most importantly, the desire to help the developers of a new framework with the treatment of childhood diseases, if you need a working tool with thoughtful documentation and a strong community, then give it some time.
3. Their name is Legion#
Want to know how often frameworks come out, at least in the JavaScript world? Just head to Github and type framework language:JavaScript
into the search box. As of this writing, the service returns 90,500 results. Of course not all of them are frameworks, but even if we take 20 percent of the total, that's over 18 thousand entities.
GitHub was launched in 2008. On average, developers have been creating more than 3 repositories each day with the word framework in the name, written at least partially in JavaScript since the launch of the service. It turns out that you can only study various tools around the clock and still not be able to touch everything.
It is physically impossible to keep up with everything new that appears on the scene. The market will tell you what you need to learn when there is a player that employers want to invest in, retraining developers, and rewriting existing code.
4. Boss level#
Free resources are better spent on mastering one technology and reaching the level of an expert, rather than dispersing to many and knowing only the minimum.
You can get the level of respect and income you deserve if you have a deep understanding of one topic, rather than knowing a little bit about many. Do you think you know React well? Read, and most importantly, understand the source code. Understand how Virtual DOM and reconciliation work. Become an expert on the topic on StackOverflow or a contributor on GitHub.
Compare for yourself how the candidate would look in the eyes of a potential employer if he said the following at the interview:
React has been my thing for five years. I am one of the contributors to this library on GitHub with a dozen accepted pull requests. In the past couple of years, I've spoken at two conferences and a bunch of meetups about front-end development. I wrote several articles about the inner workings of the library, comparing it to competitors who use an approach other than Virtual DOM.
And the second applicant:
Over the course of my career, I have worked with many libraries and frameworks. I know React, I can write in Vue, and I'm pretty interested in Svelte. My favorite is React, but Svelte is faster because it compiles into highly optimized JavaScript.
Can you tell the difference? It seems to me that the first has a much better chance of success.
Before you take on a new tool, ask yourself the question: How well do you know the one that has served you faithfully for a long time? Can you teach it to other people at the proper level? If the answer is yes, then feel free to try it out. If not, then there is still room for development within the current one, and it is better not to cause unnecessary anxiety.
5. Trust the professionals#
In order not to miss a really worthwhile project and perhaps spend time studying it, you can follow people reviewing the latest products and making money from the reviews.
There are three main sources of such information: YouTube, blogs, and email subscriptions. For example, I follow the excellent YouTube channel Fireship. Its author tells about notable projects in the JavaScript world in a couple of minutes. It's brief, clear, and to the point. This format is enough for me to determine whether a new project is worth paying attention to or not.
You can also sign up for newsletters like console.dev and follow a few authoritative blogs. This will be enough for you to stay up-to-date and avoid being ignorant.
If the source of information builds its business solely on reviews of new products from the development world and earns money on it, you can count on the fact that these reviews will have a small amount of subjectivity, and the corresponding quality. On their basis, you can decide whether a proposed tool is interesting to you and whether it is worth investing your time in its study.
Conclusion#
Above are 5 reasons why you shouldn't jump on every new framework that promises to revolutionize your game. It's difficult to resist when the authors of the project promise a hitherto unseen developer experience, speed and ease of development, and better performance in production.
As long as you follow my advice and return to these theses periodically, you'll be able to save your nerve cells, avoid depression and sleep well. You will perceive this situation with complete calm, giving your precious time only to those projects that can really help your professional development.
Take care of yourself and see you again!