The average Java programmer isn't cranking out "ecosystem". They're slapping together a bunch of Spring components to make some dull business app while waiting for 5pm to roll around so they can escape the tedium of that dreadful existence.
Average programmers don't learn Java because they're deeply interested in increasing the quality of their craft. They learn Java because it's what they were taught in school and/or because it will get them a job most easily. The bottom 80% of the programmer bell curve really doesn't give a shit about what kind of tools they use, as long as it keeps them employed.
When you get to programmers who really love programming, who want to write the best code possible and are willing to go out of their way to learn tools with very little chance of landing them that next corporate job, you're most likely in that top 20% already. So anyone who has learned Clojure, or at least can explain rationally why someone would want to learn Clojure (ie understands the benefits of functional programming), is probably not a benchwarmer idiot.
As a hiring founder who has absolutely zero interest in hiring below that top 20% (really, below the top 5%, ideally the top 1%), and has limited time to peruse a thousand basically identical resumes, applying a filter that gets rid of 80% of potential applicants is a Good Thing.
I understand your point... in terms of numbers Java does attract careerist programmers simply by critical mass. Although I would argue that language is actually now Javascript but thats another argument entirely.
The point I was making was that there is a massive and grossly unfair generalisation solely about Java developers being made here and all over HN... that they don't really love programming, or want to write the best code possible. You might feel the language precludes that but then I would beg to differ and we are back to blub allegories.
By your own figures (which I don't agree with) the top 20% of a big number is a large amount of talented programmers you have excluded from your search because you cant get past the crud. Developers who have taste, know the JVM inside out and can write tasteful, readable, lightweight (yes) and highly performant code. Code that runs everyday in the big houses such as Google, Twitter, Linkedin...
I've interviewed many Java, Python and Javascript developers and our screening process helped to weed out the very hopeless, not perfect but most.
First a scan of their resume - is it generic, do they have experience in complex projects, a github account, a blog, contribute to open source, opinionated?
Second a real programming test that can test style, consideration of performance, typical gotchas. This should be automated so you can outright reject incorrect output... not fizzbuzz.
Other people more experienced on me have commented on just how bad the average programmers are at simple tests - across all disciplines.
I appreciate you don't have the time and you seek out developers who have challenged themselves with a more powerful language as your shortcut to find the elusive 1% but I imagine you'll find it is not insurance against poor architecture, algorithm selection, performance, unreadable code and applications that fall over in their first day.
The generalisations you and others make are unfair to a particular community of developers who just happen use a mainstream language (a sin in itself on HN) but care every bit as the rest.
I've done a ton of Java myself (used it professionally more or less since 2001). I understand there are a lot of fine programmers who are quite happy with it. That's okay.
But getting back to my original point way at the top of this thread, lost in the noise... I'm not using Clojure because I'm trying to put a snob filter into my hiring. I'm using it because it's the best tool for the job. I'm working with graph database and a graph data model. When I tried building it in an OO way (in Ruby, but I'd have the same problem in Java), I found myself violating the Law of Demeter and passing internal state around a lot. I felt I was choosing between good OO and good graph design - intermediate objects were messing with my architecture.
When I switched to Clojure and a functional paradigm, it all fell together beautifully. I feel very little friction between the requirements of the problem space and the requirements of the language. Right tool for the job, you know?
So what I'm addressing isn't a plan for hipster language snobbery - I'm finding the silver lining to the cloud of a relatively obscure language. Conventional wisdom avoids using non-mainstream languages because it's harder to find talent (read Crossing the Chasm for why). But in Crossing the Chasm terms, I want early adopters for my programming staff, not early majority. And Java is so mature that it's the choice of conservatives, much less early majority.
So maybe I'm not selecting for talent so much as personality type.
Average programmers don't learn Java because they're deeply interested in increasing the quality of their craft. They learn Java because it's what they were taught in school and/or because it will get them a job most easily. The bottom 80% of the programmer bell curve really doesn't give a shit about what kind of tools they use, as long as it keeps them employed.
When you get to programmers who really love programming, who want to write the best code possible and are willing to go out of their way to learn tools with very little chance of landing them that next corporate job, you're most likely in that top 20% already. So anyone who has learned Clojure, or at least can explain rationally why someone would want to learn Clojure (ie understands the benefits of functional programming), is probably not a benchwarmer idiot.
As a hiring founder who has absolutely zero interest in hiring below that top 20% (really, below the top 5%, ideally the top 1%), and has limited time to peruse a thousand basically identical resumes, applying a filter that gets rid of 80% of potential applicants is a Good Thing.