At JUXT we predominantly write software for our clients using Clojure. We go to a number of Clojure conferences and recently we published a series of reference case-studies where we've talked to various companies about their Clojure adoption.
For companies curious about Clojure, one of the first questions we are asked is "Will we be able to hire?". This is one of the reasons we started writing our case-studies: we wanted to have a credible, well-researched answer on hand.
Good news for employers.
In our experience, there are substantially more developers out there wanting to work with Clojure than there are Clojure developer roles available.
At the various conferences we've attended - EuroClojure in particular - there is a common story amongst the delegates; developers who aren't using Clojure within their place of employment yet, but who are keen to embrace the technology. These developers range from freelancers looking for remote work, to developers who enjoy working at their current company, but who are craving an innovative technological shift.
We find that when companies advertise via the correct channels, Clojure developers can readily be found. Put bluntly, if a company is having an issue hiring Clojure developers, it may not be because of Clojure itself.
Employers are the first to recognise that there is no silver bullet when it comes to hiring, but that even so, Clojure is seen as a win by the majority of them.
For example, a quote from Funding Circle sums it up: "Finding good developers is always hard but at least with Clojure it's a draw in its own right. People often learn it in their own time and they really want to do it."
Or from USwitch: "We find that the quality of people coming through the door for interview is generally higher".
And from Metail: "With Clojure there are pros and cons; it's not massively taught in universities, but then there are people actively looking around wanting to do Clojure. We've had people approach us for jobs".
It certainly is a pros and cons debate. A company adopting Clojure - or any non-mainstream yet modern and well-regarded technology - is putting a flag down stating that the choice of technology matters to them. On the back of this they will typically attract developers searching for an endorsement of the tools that they use, to know that ultimately the quality of software they build matters.
If companies take the next step of supporting the tech community by sponsoring conferences and meet-ups, then they will generally profit through the calibre of their inbound hires.
The nuance - as I have personally experienced - is that you need developers who are also similarly motivated to deliver working software for the business. You need developers who are both smart and get things done. Technologies built fastidiously on sound engineering principles will attract a range of developers; the challenge is to filter through the candidates who possess a healthy balance of perspective when it comes to delivery.
Employers will often find a large appetite in developers wanting to learn Clojure. This can be the case with existing employees or with new joiners.
Signal Media demonstrate this point by training their data scientists in Clojure: "We believe every data scientist is a developer - every one of our researchers will pass a 4Clojure test (for example do 20 exercises in four days). Everyone from the research side has enjoyed learning a new language, Clojure is easy to learn."
There is certainly a theme of employers upskilling their existing developers towards using Clojure, rather than hiring seasoned Clojure developers from the get-go. As in our interview with Telenor:"We look for good developers, not necessarily Clojure developers. We look for people with experience of functional programming and an interest in learning languages."
And in our interview with Zalando; "I had a developer join our team who was new to Clojure. After three months he wrote a proxy server that wrapped a legacy server and was highly performant. Three months was enough for him to deliver production code."
Our conclusion is that experienced employers who have crossed the Clojure chasm tend to focus on finding bright developers with aptitude above all else. So long as a company has a core of Clojure coding excellence, they don't necessarily need to go and hire explicitly for experienced Clojure developers.
There is also another factor in play: Clojure teams tend to be smaller. We see this as a constant feature of the industry where Clojure is concerned: small teams often flying underneath the radar. There are exceptions to the rule, but the observable pattern is that it's rare for Clojure teams to grow to be considered large.
What of the employees?
I speak to a good number of developers who are searching for the best roles. Often they come with a checklist comprising certain attributes such as remote and part-time working, single-page tech stacks and immutable architectures.
Such developers will often recognise the supply versus demand balance of market forces in play. For example, there are fewer companies using innovative and attractive technologies than there are using conservative mainstream ones. The more attractive the role, the more applicants, and it will be the developers who are open minded who will get the best roles.
Employers usually prefer permanent, full-time employees who are willing invest in their culture and long-term objectives. There are freelancers who are sought after for their skillset and competence - who have built a brand and reputation around themselves - and there are those selected for their availability and flexible status.
At JUXT we make use of highly-successful freelance developers with a proven track record; they often work on projects alongside our permanent employees. I have a high regard for top-tier freelancers, yet I caution developers who are considering this career path to look at the market from both sides; I'd advise them to remain flexible and not to put themselves in a position of reliance on finding immediate contracts.
It's interesting that the IT job market can differ so much depending on the technologies used, but it doesn't surprise when you stop to consider it. Developers working on technologies such as Mainframes, COBOL etc are in an extremely good bargaining position. Java is going the same way - albeit more slowly - with developers increasingly wanting to move on to more modern languages such as Kotlin, Scala, and Clojure, or to jump ship from the JVM entirely.
Employers who are offering attractive roles using Clojure will find they get a number of applicants, which is great news for all; more companies using Clojure and more developers applying for Clojure roles, is a healthy sign of things to come.
But it's also great news for those taking the jobs on offer, because those jobs are so highly prized and so well regarded. We have heard recently that Clojure programmers are amongst the highest paid in the industry. Perhaps because Clojure teams are smaller with the developers inside of them becoming more highly valued, then it's a win/win for all concerned.