Creator of The Practical Dev, Ben is a software developer living in New York City. He is the co-founder and CTO of Argo.
Any time a hot new programming language or framework or methodology pops up or gains popularity, which is pretty much every day, there is a palpable fear and paranoia I see pop up within the programming community. Many programmers are concerned about missing the wave and letting their skills grow obsolete. It is something coders experience as individuals and bubbles into a collective angst. Nobody wants to turn into a programming dinosaur.
This emotional response to the hot new thing surfaces collectively in the form of, often obnoxious, Hacker News debates and individually as a sort of paralysis to make personal technology choice. There is a frustrating pull between pulling the tool you know from your tool box or testing out that shiny new object that people are raving about.
The action of inaction can be an incredibly powerful one in programming. You can gain a lot of wisdom and future productivity by waiting back and being a late adopter of new technology.
Eventually it became obvious to me that React was the right choice and I picked up enough along the way to get into React full steam when it started really taking off and I am very grateful I waited. The environment was so much more mature and friendly when I jumped in. I still jumped in relatively early with React, but I am glad I was late to the front-end framework game and never bothered learning Angular or any of the other most popular solutions from a couple years ago. And it is not that I would not have enriched my skills by learning Angular, but there is always a tradeoff and being patient paid off for me.
When I did first get into React, I was still sort of early and I felt like there were no clear architecture pattern winners in Flux, so I rolled my own with my own style that worked for a while. I knew I would eventually need something more scalable and inline with the direction the library was taking me. I waited to develop strong architecture opinions and I am grateful I did because Redux emerged as the standard and is far more friendly than it was at the time.
I am still making great use of Ruby on Rails and I am excited about a few emerging alternatives, but will be happy to spend some time dipping my toes before becoming worried about falling behind the times. My future may involve a lot of Elixir, Go, Clojure, Haskell, Node, or other. I'm going to let it play out.
Patience is a virtue. I am not saying you should never adopt new things early but jump in when it feels right, not out of anxiety of missing out. Being excited about new things and being willing to change is of vital importance in computer programming, but the angst of feeling like you need to catch up with the times is not helpful. Challenge yourself, but spend your time doing things that make you happy and productive.