Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>>I ask because my brain really cant absorb too many languages, and I want to make some kind of pseudo-optimal choice

Am in the same boat. I moved to SF permanently 2 months back, after 15+ years in the east coast. Decided to pick 1 language, immerse myself in it deeply, & then start the interview circuit. The opposite approach would be to pick a bunch of languages ( ruby, python, jquery/coffeescript etc. ) and get a smattering of best practices in everything without knowing anything too deeply. Both approaches have their merit. In SF, I recommend the latter approach - you will find jobs almost instantly if you do that. But still, given my proclivity ( I would rather know everything about 1 thing than something about everything) I chose the former approach. I picked Scala, read every single chapter of Odersky's book, & subjected myself to 19 total interviews at 2 multibillion$ companies using Scala exclusively for a "new project built from scratch".

I got offers at both. Now am debating which one to join.

tl;dr Scala is that pseudo-optimal choice you are looking to make. In SF there are a few very-nice Scala jobs with 6-figure salaries & tons of RSU's thrown in...but only if you can hack it. The questions you will be asked in the interview are definitely esoteric & very academic ( difference between reader monad and writer monad, reverse a list without mutation using a foldLeft, kruskal's algorithm in scala, merging graphs with common edges where each edge is a tuple, etc. ) Its not web apps, its not "software engineering", and its not everybody's cup of tea. But if you like academic CS, Scala will not disappoint you.



I wonder why you did not choose to go the Clojure or Jruby (assuming you are not a Ruby guy) route ?

I am not in the valley, but it may be that you picked up on some buzz/conversations in general that lean towards scala. It is quite puzzling since Indeed.com's trends shows a massive lean towards Clojure vs Scala.

http://www.indeed.com/jobtrends?q=scala%2C+clojure%2Cjruby&#...

On an absolute term, Scala still leads the pack (http://www.indeed.com/jobanalytics/jobtrends?q=scala%2C+cloj...)


> reverse a list without mutation using a foldLeft

This is maybe a little too obvious if you understand left folding at all. A less trivial exercise in the same vein is to implement right folding via left folding. It's just a one-liner, but if you haven't tried it before, it's enlightening and worth giving a shot.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: