4 ms·
don't specialize in programming languages Agree and disagree. I think that learning the minutiae of a specific programming language might be an evolutionary de
by michaelochurch 12y ago
don't specialize in programming languages
Agree and disagree. I think that learning the minutiae of a specific programming language might be an evolutionary dead end. I say "might be" because there are C++ engineers making $500k in HFT. Since we're both in the same city (Chicago) now, we both probably know some of them. C++ isn't dead yet, and it's not even close (but a mediocre C++ engineer is probably hosed).
What seems to happen as a technology fades out is that the number of jobs drops, while the pay in those jobs increases. There's a risk to it. If you continue to be qualified for those jobs in the depreciating technology, then you're solid. If you lose at the game of musical chairs, you can be screwed.
There's value in learning programming languages if you keep an eye out for the concepts that make them what they are, and if those concepts have a future, which is more likely. We may not need C++ in 25 years, but we are going to have low-level programming problems that require a C-like language (and fluency with assembly languages). Haskell itself may or may not be around in 25 years, but the problems it exists to solve and the value of static typing will still be relevant. Common Lisp is nearly dead, but Clojure is doing well. Languages die, but concepts hibernate at worst.
The people who will be screwed are the ones who specialized in minutiae of Java but forgot the computer science itself: the ones who got really good at JVM configuration and Spring and Hibernate but have completely forgotten how computers really work. The really good ones will always have jobs: there'll be Java work 50 years from now, just as there is Cobol work now and some of it pays very well, but the more average engineers who only learned The Java Way will be screwed: not good enough to get the dwindling (if well-paid) Java jobs and with too much atrophy of their general CS knowledge to handle whatever is next.
- tptacek 12y agoDo you believe specializing in a programming language is a smart career move so long as you pick the right language?
- michaelochurch 12y agoI don't think it's ever wise to specialize in only a programming language, even if it's a really good one like Haskell. I think it's important to have a lot of language-agnostic knowledge in one's skill profile in addition to knowing at least one language very well.
- wglb 12y agoThe C++ engineers making $500k in HFT are more due to the HFT part of their skills. As was said elsewhere, focus on solving business problems with engineering skills, not so much on the language.
- michaelochurch 12y agoFair enough but my general sense of it is that extremely low-latency C++ is harder to learn than the finance part of the job. If that's wrong it's still what hiring managers believe.