Ask HN: Programming Languages for Career

1 points by straussvky ↗ HN
Context: I am a CS junior at a big prestigious university in the US, and I love Haskell and am planning on learning Lisp.

I learned C, C++, Python, and Java a while ago, but I haven't touched them in a year.

I am applying for internship next year (Google, Facebook, Palantir, etc.) for a big corporation experience, and am wondering whether I should catch up on those languages. (If I can avoid it, I would.)

I would be willing to code in a not-so-beautiful language for a summer to meet qualified engineers and build career capital (as in effective altruism).

On top of re-reading CLRS (which seems mandatory), should I prepare in any other way? Or should I work on my personal projects in Haskell/learn Lisp?

3 comments

[ 0.26 ms ] story [ 15.9 ms ] thread
>I would be willing to code in a not-so-beautiful language for a summer

Career advice: don't be a primadonna.

Even actual literal primadonnas don't start out as primadonnas.

From a career perspective, JavaScript has a pretty wide reach. Jobs range from designers that fiddle with JS to server-only NodeJS jobs and plenty in between. A demand for JavaScript devs writing mobile apps is growing with things like Facebook's ReactNative and there are decent desktop apps (VSCode, Atom, Slack) too, although it's not exactly a demand just yet.

Money is good too, here in Aus $600-$800 a day (or around $130-$160k a year) is the going rate for a decent developer with a few years under their belt.

I suspect that an internship offer from any of those companies will not be significantly based on detailed knowledge of any of those languages and I believe that there is no way that detailed knowledge of any one of those languages measured against the standard for detailed knowledge that applies at those companies is possible to attain in the next year. [1] Never mind detailed knowledge against that standard of all of them.

My advice:

1. Keep moving forward. Interns programming Java at Facebook are expected to have knowledge of Java at the intern level.

2. The programmer competency matrix [2] is a helpful way of understanding of general competency and general competency is likely to matter more in terms of hiring over the long term.

Good luck.

[1]: http://norvig.com/21-days.html

[2]: http://sijinjoseph.com/programmer-competency-matrix/