← Back to context

Comment by nathan_douglas

6 days ago

Some months ago, I applied for a job. Seemed like a cool place, very off-the-wall, maybe a match for my mildly annoying but generally harmless personality. They work in Haskell, and I thought, "that would be really interesting. I wonder what they do with it, why they selected it, the costs and benefits they see," etc. I've played with Haskell a little, admired its beauty and elegance, but I wouldn't really think of it when selecting a language for a modern multiuser webapp, device apps, etc.

So I had the initial call with the hiring person, and she posed a sort of dilemma: essentially, do you want to work with Haskell so you can ship frequently, or so you can create beautiful and elegant code that you can reason about?

And I said "both." The purity and power of Haskell appeals to me for deep, almost spiritual reasons, but I have encountered friction in my ability to be as effective with it as Python or Rust or TypeScript. Perhaps that's a personal deficiency, in which case I'd like to address it and be a better engineer. Perhaps it's a weakness of the language, in which case perhaps I can address it and move the world ahead in some small way.

She was not satisfied with that answer. I got the feeling that Haskell was a quirky choice, t3h penguin of doom holding a spork. All that really mattered at the end of the day was shipping, because after all, that was what paid people's salaries.

So I decided they were not a serious company.

But yeah, I tend to blame the same underlying phenomenon identified here: that ZIRP enabled companies to make the same mistakes that, previously, only a senior engineer could make. And I think ZIRP also contributed to a lot of title inflation, ensuring that senior engineers could make mistakes that, previously, only a junior engineer would make. Combine the two and we have companies picking languages based on vibes.