Clojure

State of Clojure 2021 Results

06 April 2021
Fogus

While a challenging year overall, 2020 was another good year for Clojure and its ecosystem. One big newsworthy item was that Cognitect joined Nubank, the world’s largest independent digital bank, to reinvent financial services across Latin America. The news was well received, and the general sentiment is summarized by a comment left by one of the survey respondents:

Great to see the Nubank acquisition of Cognitect. I think this has done wonders to bolster confidence in Clojure and Datomic for the long term. Also the subsequent support of open source developers sends a very positive message, and directly supports a healthy and robust ecosystem.
— anonymous survey respondent

Indeed Ed Wible, the co-founder of Nubank talked about Nubank’s commitment to supporting and growing Clojure (and Datomic) into the future.

In this post I’ll outline a few of the more salient points shown in the 2021 survey. Specifically, I’ll touch on the use of Clojure in production, the use of Clojure for start-ups, and how Clojure helps programmers and organizations to move quickly and confidently. As an added bonus I’ll highlight some of the amazing projects and people making the Clojure community strong.

Clojure in Production

Continuing the trend from last year, Clojure has seen growth in large companies (i.e. those having 100-1000 employees).

A breakdown of the companies sizes using Clojure in production

Nubank currently employs approximately 700 (at the time of writing) Clojure programmers, and Nubank is just one prominent example of the many banks, mortgage companies, and financial services companies using Clojure today, accounting for 22% (and growing) of the Clojure job market as reported by survey respondents. The survey shows healthy gains in the healthcare and retail markets as well.

Clojure finds adoption in a wide range of industries

Having said all of that, just where are Clojure projects deployed in production systems? Interestingly, the survey shows some nice growth in the way of public cloud and serverless deployments. The trends for AWS indicate that the cloud market is booming and so it’s natural that the general increase for that segment would show specifically for Clojure deployments as well.

Clojure (still) for Start-ups

While more large companies are adopting Clojure than ever, the sweet spot is still the smaller companies of less than 100 employees.

Clojure is still a language of choice for small companies

The reasons that start-ups choose Clojure are many and variegated:

  • Leverage - small effort, big result

  • Ready access to large existing ecosystems - Java, JavaScript, .NET

  • Scalable base - grow from PoC, to MVP, to production systems at scale

  • Moving fast - discussed in the next section

One exciting start-up of note in the Clojure ecosystem is Roam Research. Roam’s flagship product is an online note-taking tool that is designed to augment the human mind in building a set of notes that allow deep connectivity and discoverability. The enthusiasm for Roam is palpable and it’ll be fun to watch them grow.

Clojure for Moving Fast

Most survey respondents reported that they came to Clojure from the Java programming language. The fact that both languages run on the same virtual machine certainly helps smooth the path from Java to Clojure. However, many other advantages allow Clojure programmers a greater flexibility and agility in their day to day work lives using Clojure.

Functional Programming and Lispiness are great force-multipliers

First, Clojure programmers value a functional style of programming facilitating a separation of data and process. Coupled with its suite of immutable data structures, Clojure applications are often built as pipelines of data transformation functions that can be composed to implement higher-level business concepts in software. As a dialect of Lisp, Clojure provides an interactive programming environment called the REPL (Read, Eval, Print, Loop). The REPL fosters exploratory programming, allowing Clojure programmers to interactively develop solutions to sticky programming problems using a tight feedback loop. Indeed, the confluence of the REPL, immutable data structures, and functional programming allows for a development process light on ceremony, allowing programmers to focus on the problem at hand rather than the complexities foisted on them by their programming language.

The Clojure Ecosystem

Finally, Clojure would have never grown to its current size without the help of countless developers, technical writers, and big thinkers along the way. The appreciation for the amazing Clojure community is palpable within Nubank and this appreciation is increasingly being expressed as open source project funding. I’d like to close this year’s post by highlighting a number of the community leaders mentioned in the survey responses.

  • Bozhidar Batsov for continuing to improve Clojure tooling ecosystem.

  • Arne Brasseur - Kaocha is superb and his educational skills fantastic.

  • Everything Michiel Borkent aka borkdude touches is awesome!

  • Sean Corfield because he is always helpful and polite, and writes excellent documentation for important libraries.

  • Michael Fikes for being enthusiastic, engaging, and inspirational, and approachable.

  • Thomas Heller has made an amazing tool in shadow-cljs.

  • (Daniel) Higginbotham, because he made me laugh hundreds of times while introducing me to Clojure.

  • Tony Kay and contributors of Fulcro for providing a comprehensive solution to client-server state management.

  • Gene Kim for … unabashed love of the language, and for helping spread the good word.

  • London Clojurians - the online talks in the past year have been amazing.

  • Tiago Luchini, Hodur creator.

  • Carin Meier for her progressiveness: for advancing the state of the art in machine learning, and her contributions to visibility and representation in the community.

  • David Nolen is generous with explanations, direct, genuine, and never condescending or judgmental.

  • Eric Normand, as he provides great content for beginners.

  • Michael Nygard for architecture insights.

  • Dmitri Sotnikov for making web dev in Clojure accessible to the masses.

  • Peter Taoussanis - Nice, simple and complete libraries.

There are so many more who deserve praise and recognition so in the words of one of the survey respondents:

Clojure literally changed my life for the better. I am eternally grateful for the humans behind it.
— anonymous respondent

We too are grateful for everyone involved in the Clojure community and we hope to see a continuance and growth in support for those members of the community who work so hard and devote their valuable time to help Clojure and its ecosystem thrive.

Full Results

If you’d like to dig into the full results, you can find the complete set of data from this and former years here:

Thanks again for using Clojure and ClojureScript and participating in the survey!