True. But if you have a good well-enforced, sane style guide, then expressive powerful languages can be a good thing. If you hire devs who care more about playing with the language than delivering value then you're hiring the wrong people. You can't ditch these languages because some people are sometimes attracted to them for the wrong reasons.
Esoteric languages by-nature have smaller populations of devs. They demand higher salaries for their specialist work. This can hurt you as you scale - salaries continue to increase (secularly), and the pool of possible engineers begins to shrink within your locale.
Hopefully WFH helps there. In my niche Scala it does. We can hire more broadly. We also hire ppl with an aptitude for Scala and keep our style simple. That helps.
As an example, nobody knows Go when we hire them to write it.
However, there were negatives. At the time the Clojure library landscape was less mature. Clojure developers would also tend to abandon projects to create "the next best version" which made migrating and keeping up with the libraries of the day difficult. Most of the libraries were very rough around the edges too. On the other hand we could use any Java library which was a boon.
As the team grew, it became harder and harder to hire people in larger numbers. Especially in a single timezone. Also it became apparent that many of the people who were very happy in the early days, were increasingly less happy as we added standardization and protocol to our dev process. As some commenters pointed out many of the people attracted to Clojure liked playing with the latest and greatest, and things were "boring" when they couldn't work with whatever the latest fast changing trend in the community was. Trying to teach people Clojure also an issue. For some it was challenging, and for others, they were not really interested in using it.
It was a good learning experience, but I don't think I'd do it again. There is something to be said for using "boring" technology for the majority of your tech stack.
In other words, it's not about hiring a "Clojure developer", it's about hiring a good developer.
Yes, definitely in growth periods you get the best developers migrating to it. I'd say Rust is like this now. The problem is a few years time they'll move on to the next big thing leaving you stuck. I'd think Clojure is in this spot right now.
Though that doesn’t mean they’ll be more productive, and then adds hiring challenges. So the break-even is not simple.
One of pg’s early essays was on exactly that subject (“the python paradox).
The code is all Scala, but written by a bunch of ex-Java devs. I have made attempts at education, and the code is improving, but the fundamental structure of the services are bad, and there is still a lot of bad code. I am not saying this as a FP purist, some of the code would be bad by the standards of Java programming.
Bad programmers then hire other bad programmers. Because it is hard to find experienced Scala developers, they have brought in people with java experience, or big data Python programmers who claim to have some experience using Scala with Spark. I am now involved in the hiring process, and it is slow and dismal. To be fair, the kind of contractors this company hires are mediocre, regardless of language.
The features of Scala create novel ways for confused programmers to screw up, and we aren't even doing anything esoteric, like pure FP. I suspect there are some similar traps in Clojure.
I’ve been happily coding (and hiring) in Python for the last four years or so. Still doing Rust and some Scala at home where deadlines don’t exist and hiring is a non-issue.
When it was released, there were two camps to adopt it: people that wanted an FP, and people that wanted a better Java. Since Java went through a long period of stagnation, most of the Scala code out there is written by Java developers that just wanted a better Java.
Kotlin has stepped in and replaced Scala for "better Java" role. But this history has left a pile of crap code written by people who didn't want to use Scala.
Clojure doesn't have this problem because you couldn't ever use it as just a better version of Java.
However I wouldn't mind coding in Scala. I like OO, I like FP, I'm comfortable with expression based programming and immutability. Based on that alone - and playing with Scala in my spare time - I feel like someone with my background may be more suited than someone with a commercial Java "mutate every variable" background.
But I'd never get through your filters.