May 05, 2016
These days there is the a trend of experienced developers leaving X programming language to move to Y, but why is this happening? Is X awful? Is Y the future? The answers is simple, personal preferences. Here in this article, I try to expose some of the wrong reasons you shouldn’t consider moving to another programming language where most of your current experience and knowledge is useless, and you will start almost from zero.
Every single day there is a new trend, sometimes those trends stay but most of the time they go away. As a professional in the IT industry is hard to detect what is a hype-train and what will become the new thing in the industry. It’s impossible to predict the future, but your foundations must be solid enough to help you to stay firm where you are; otherwise you will be jumping from one programming language to another.
Developers are not into fashion.
I encourage you to learn and experiment with new technologies whenever is possible, not to change your career path, but to apply the acquired knowledge in your current technology base.
For some developers when there is nothing new in X programming language every single week it could be a sign of an old and rusty language, but in fact is more a sign of a mature technology where the community has to stop experimenting and is more dedicated to optimizing and refine architectures and techniques.
The real problem is that on your daily job is not required apply the newest techniques, but there is always something new to learn, try to contribute to an open source project and for sure you will learn something.
Y is faster because it doesn’t do
Right now there is a trend for functional programming languages, from the backend to the frontend. But that paradigm is nothing new in fact, all of the paradigms are old, even the concept of cloud computing is old. Each paradigm has their problems, not because a problem it never happens on Y means that is better, in fact as you learn Y you will face problems that will never happen on X.
Y is awesome because this feature, it’s also a reason that falls into the hype-train, if a problem never gets solved in X but in Y does. But why with all your knowledge, instead of jump to another train, try to fix it or improve it in the current one? Some features indeed are excellent but that is not everything is like changing you wife because you meet a girl with a prettier nose.
I am not here to tell you not to change your current programming language cause is not as good as you want to be, or do not learn a new one. Indeed, your current programming language has his faults, but none is perfect, for sure you will complain about something in the future. Remember with your experience and knowledge you can improve your favorite language.
Do not give up, improve it, make it better. And only change if you want to take another career path if you want to switch from startups to an enterprise level, or do you want to become a DevOps or a manager that is ok. Do not switch because there is a new kid on the block, be a grown up and focus on improving yourself, not in the glance from the new thing.