Ask HN: Is learning Scala/Clojure/Haskell a good career move?
Given that our lives are not infinite and that, as much as it is always a good idea to learn as many different problem-solving approaches that various programming languages can open our minds up to, is it a good career move to learn one of these languages? Are there jobs? Will there be? Is there a future in these languages? Do any big companies use them now or plan on using them? I think I heard Twitter dissed Ruby in favor of Scala but I don't know if that really means much.
6 comments
[ 2.7 ms ] story [ 19.8 ms ] threadThe next big thing in software is the same thing is was 15 years ago: knowing how to program well. This is no easy task. Focus on doing this and don't worry about the language. It's far easier to learn a new language than it is learning how to be a great programmer. For a starting point see: http://norvig.com/21-days.html.
(The only thing I would add to that is that knowing how to program parallel and concurrent programs is pretty important. Don't even go there until you've got the basics down though.)
(t) I learned Erlang and Lisp and literally carved out a part of Powerset that had a problem to solve. Now my Erlang code is part of bing.com, and our startup got bought and integrated into Microsoft.com.
(t - 1) I decided to learn Ruby, and started to do a bit of open source work with it. It managed to get me out of a dead end career grind at Lockheed Martin by catching the eye of a silicon valley recruiter.
(t - 2) I decided to learn Lisp, which allowed me to meet a lot of talented developers and work on some really interesting projects, and network with climate scientists who were working in conjunction with me as part of Lockheed Martin RSAII project doing data modeling. This helped me land a job at Lockheed during the worst parts of the post-bubble recession, elevating me from hand-to-mouth temp work (you sure do type fast, sir!) to software engineering.
In my experience, those who hack scala/clojure/lisp/ocaml/f#/haskell/lua etc. in their spare time trend towards the great/good end of the spectrum.
To answer your question more directly: Yes. I'll nearly always hire you over someone who wishes simply "to further my J2EE experience".
I learned Scala and erlang. Did a real world webapp with erlang 5 years ago before it was noticeably cool. Didn't me make any money aside from the one project (I chose the tech myself simply out of interest). Both scala and erlang helped me be a better programmer and renew my flagging interests. Other than that, I haven't seen any financial profits from it. I'm using ruby now simply because I have webapps to run and its the simplest way to get the job done.
Previous comments that people that learn these langs are putting themselves in better company are on target.