Hacker News new | ask | show | jobs
by p4wnc6 3660 days ago
I fall in a weird bucket: very advanced understanding of some other languages and good work experience, education, etc., but even though I love Haskell and practice it all the time, I think I am just somewhere on the boundary between beginner and intermediate, and even with focused daily effort I would remain on that boundary for a long time before there is a phase transition to solid intermediate.

Because of this, the only kinds of FP shops that would hire me want to hire me at a junior or low-paying level, but my market value in lots of other skill areas (machine learning, Python, database stuff, etc.) is much higher, so I'm not willing to take a salary anywhere close to what they think fits the position.

As a result, even though I would love to get industry experience with functional programming, there is a market wage energy barrier preventing me from considering it. I was burned once early in my career with malarkey about how you should accept a lower salary for some alleged other benefit (like cool functional programming, or working with a team of awesome people, or getting in on the ground floor on something, etc.) -- I won't make that mistake again.

So I basically had to learn to divorce myself from real world Haskell practically just as soon as I learned how much I really love it.

Plus, and this should not be discounted, the professional tooling with Haskell is still extremely immature with lots of esoteric corners duct taped together in unsatisfying ways. It's getting better, but if you work with Haskell for real there are likely to be as many, if not many more, extremely frustrating painpoints of the language tooling as with any other language, enough to amortize away all the warm fuzzy happiness you'd get from the status effects of being able to say you do pure functional programming for a job.

1 comments

I was in a similar boat. I found that it's relatively easy to get machine learning jobs at market pay in Scala, due to Spark etc. taking off, and functional Scala is about 80% as good as Haskell (whereas e.g. Python is about 20%). For example, the company I'm working at, Euclid Analytics, uses Scala as our primary language.
My experience has been two-pronged with Scala.

About half of companies using Scala are only doing so because it is a trendy way to trick people into continuing to maintain god-awful legacy Java (basically same for Clojure too) -- and in these places they code Scala like it is Java, e.g. use mutability everywhere, poor code style, no emphasis on functional patterns.

The other half seem like legit and interesting jobs, but they tend not to believe that self-taught Haskell experience, or on-the-job machine learning experience with say Python (even with pyspark) is translatable to Scala, and they heavily emphasize seeking people who are specifically experienced in exactly their tech stack already and immersed in the culture of it.

Either way it creates barriers that make it seem like my quality of life wouldn't be very good switching to Scala. But if I found a company that valued what I already can do with Python and my statistics experience, and was happy partially training me / helping me while I teach myself idiomatic Scala, that would be great. It just seems impossible to find that, even though some companies pay lip service to that idea.

If you're in/willing to relocate to San Francisco, feel free to message me–I definitely can relate to your experience about dramatically different Scala cultures, and could recommend some companies that will likely value your experience while being willing to train you in Functional Scala (including my current employer, where I lead a Scala study group.)
I appreciate that -- unfortunately I am focusing mostly on the Eastern US for family reasons and I doubt SF would work out for me. Glad to hear there are some good Scala companies out there though.