Experienced folks, leaders, and new developers share something in common. They fall in love with a specific technology. This favoritism leads to some fairly pointless debate and, at its worst, some poor decisions.
Technology Change Is Constant
Over the past decade I’ve been around, industry-favored technology has undergone significant shifts. Throughout all of it, the debate of the best has continued, but nobody cashed in on it.
Some examples of languages and tech that both came into the spotlight and faded are PHP, Ruby, Ruby on Rails, Python, Django, NodeJS, Backbone, Ember, Meteor, Ionic, Windows Phone, Blackberry, Grunt, Gulp, Yarn, NPM, Ant, Maven, and so on. I would list Java, but its pace is moving a lot slower than other things.
While people can argue about its end or whatnot, that isn’t the point. This list’s point is that each of these technologies had a rabid fan base who thought it was the best. Yet, they’re increasingly rare to find in many companies as the technology of choice.
So, learning new tech is what is normal.
The Best Knife
I tend to use cooking metaphors a lot. I often imagine the best language and tech debate, like two chefs arguing about which knife is the best knife.
The problem with this imaginary scenario is that it doesn’t make sense since chefs are trained to use different knives in different settings. They may like specific brands, and they may have a unique knife that they love using when they can, but I have a hard time believing they fall into the trap of saying their six-inch Santoku is “The best knife.”
All these languages and technologies at our disposal are tools, and we as an industry need to recognize that while many tools can accomplish a job, there are better tools for those jobs. You could tap dislodged nails back into place with just about anything in a toolbox, but a hammer is probably the better choice.
Be Like The Chefs
I mean, it’s fine to have something you personally enjoy and look forward to using it. However, when it comes time to pick languages and tech, pick the best tools for that job. My personal go-to for small things is Ruby, yet I rarely recommend it for my clients as they often have no background in it. When I coach developers, though, I tend to use Ruby as the syntax doesn’t get in the way of learning and is widely accessible.
The bottom line is that often, the best thing to do is have a tiny funeral for your favorite bit of tech and get on with picking the one that’s right for the task at hand.