>Don't specialize in things that depreciate as rapidly as programming languages
C has been around since 1972 and is just as relevant as ever even as the popularity of C++ wanes. Python has been around since 1991 and is growing in popularity.
There is a trick to figuring out which technologies will stick around for the long haul, and it is one which most developers don't even think to try and hone.
My career advice would not be to not specialize in programming languages but to learn to distinguish programming trends from programming fashions and invest (with training/picking the right job, etc.) accordingly.
I doubt there is going to be much call for people with experience in Mongo in 5-7 years' time, for instance, but Postgres? Hell yeah. I predict increased demand for F#, too, but not so much for, say, Java (even though it won't go away).
I am a C programmer. C is my first language. I have shipped C code. I'm pretty sure I've literally shipped C code, in shrink-wrapped boxes. I took my kids to the museum today and hung out in the cafe pushing commits while they wandered around. What was I hacking on? A C compiler.
C is less relevant now than it was in 1996. A lot less relevant. Way, way, way less relevant. In 1996, most serious software was written in C. Today, only a tiny fraction of it is.
While true, in 1996 almost everybody knew C or C++. Now, you can get a CSc degree without learning a manual memory management language. While C and C++ are a shrinking segment of the entire market, the market is growing.
I don't get it when people say Java will be less popular. Today it is in most cases, my platform of choice. Modern Java is a damn fun development environment. You just need the right tools like Maven, IntelliJ Idea, Spring Loaded and so on.
I have written a lot of Java the last 2-3 years, with Maven, IntelliJ, and Dropwizard. This after years of C++, Prolog, and Haskell. Fun is not exactly the predicate I would attach to modern Java.
Of course, this is all subjective. But I can barely imagine that people coming from more expressive statically typed languages would like Java very much.
(That's not to say that the tooling for Java isn't extremely good.)
C has been around since 1972 and is just as relevant as ever even as the popularity of C++ wanes. Python has been around since 1991 and is growing in popularity.
There is a trick to figuring out which technologies will stick around for the long haul, and it is one which most developers don't even think to try and hone.
My career advice would not be to not specialize in programming languages but to learn to distinguish programming trends from programming fashions and invest (with training/picking the right job, etc.) accordingly.
I doubt there is going to be much call for people with experience in Mongo in 5-7 years' time, for instance, but Postgres? Hell yeah. I predict increased demand for F#, too, but not so much for, say, Java (even though it won't go away).