Being at the forefront of technology is something that I’ve always sincerely enjoyed. For example I was one of the first C# programmers in Italy back when C# was still in beta, and I was there in the early days of Rails as well (just a few months after its initial release). Over the years I’ve dared to risk and have made some educated bets on technology that have served my career well.[1]
I share this as a way of illuminating the fact that there is a reward to be had if you enjoy keeping up with technology and the programming world – and it’s a payoff that goes hand-in-hand with the sheer fun of exploring and using new cool technologies.
We live in a world that moves quickly, with significant innovations being introduced every couple of years and entire tectonic shifts coming along every decade or so.
This doesn’t just apply to programming languages either – we’re talking databases (e.g., NoSQL), paradigms (e.g., parallelism and concurrency), new approaches (e.g., Big Data in the Cloud), new frameworks (e.g., Meteor), and many other corners of this vast field.
In the programming world, in order to stay competitive, you can not ever stop learning. If you’re not leading the pack, you apt to be left in the dust.[2]
One way to keep up is to never stop experimenting, playing with new languages and technologies in your spare time and applying them to non-mission critical projects. That’s the strategy I have grown accustom to at least, and again, no complaints from me when it comes to taking such an approach.
Wayne Gretzky, arguably – if not flat out – the best hockey player of all time, has a great quote that applies to hockey as much as it does to life in general.
I skate to where the puck is going to be, not where it has been.
Damn, Gretzky was good on the ice. Anyway, back to the topic. Some developers might consider R or Node.js to be the future. In reality, that’s where the puck is now.
Where will the puck be in three, five, or ten years? We’ll have to wait and see to know for sure. Meanwhile, I encourage you to explore three programming languages that might very well be headed in the same direction of that most iconic of Canadian sports equipment, the humble yet mighty, puck.
- GO: A fast, truly cross-platform, concurrent language that resembles a modern C on steroids.
- Julia: A very high level language that’s aiming to be the future of scientific computing and data science, including integrating with existing solutions such as Python scientific packages. Think of it like a modern Fortran on steroids.
- Elixir: This language fully leverages the power, reliability, and concurrent nature of the Erlang VM, but does so with an elegant Ruby-like syntax. It’s Ruby taking steroids in the gym she goes to seven times a week.
I make no promises or guarantees that these languages will pick up massive momentum over time. What I can promise you is that you’ll enjoy and learn from them in the moment. Each one is not only promising, but already delivering and is well worth checking out, if you haven’t already.
Let me know where the puck is headed for you.
- I also saw Node.js coming from a mile away, but I didn’t have a strong need for it, so I played with and used it, but never really got too involved. ↑
- Yes, some people specialized in a particular enterprise solution 20 or 30 years ago and still make a living by relying on it, however this might not hold true in the future. As an industry, we are moving faster and faster away from that approach. ↑
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
Thanks for the nice article. But you forgot Rust (http://www.rust-lang.org/).
“As an industry, we are moving faster and faster away from that approach.”
Truth. I came into software just as the industry was shifting away from a seemingly-exclusive reliance on very specialised COBOL-based skills and pursuing the then-“innovative” business strategy of simply disposing of the “excess” staff rather than retraining them. Watching guys who’d put in 20 or 30 years realise they’d probably never work again at the level or for the pay they’d built themselves up to left a searing impression. I resolved to be as wide-ranging a generalist as I could. This worked rather well until the mid-’90s; by 2004 or so, it became impractical-to-pointless. Impractical because there are now so many ways to specialise that each require so much constant learning and growth; pointless because employers would seemingly rather wait for one of the half-dozen people in the history of the planet meeting all their “requirements” to walk in their door, rather than training up some bright young spark. That, in practice, rarely works well.