We recently won a bid for an important software contract. One competitor, frustrated by the setback, has been trying to sow fear around our tech stack, which is mainly built with Clojure.

This blog post is our take on the debate. I will address it from the business perspective, because technical arguments have been analyzed and discussed to the point of paroxysm, and there is no need to persevere further. Clojure’s technical value proposition is compelling.

So let’s list some arguments that support Clojure and its stack, which I personally think business-oriented people should take into account. These arguments are based on evidence and grounded on real-life experiences. Thus, this post is not intended to be a theoretical exercise.

Small teams, big scalable projects.

We started small (a team of two) and we are still small (a team of 12). We have specialized in building innovative, intrapreneurship projects, in partnership with our clients. They are heterogeneous projects, usually demanding and trying to solve complex problems. At this moment, we are getting to the point where we have more projects than we have developers.

Clojure helps us maintain and evolve stable systems that grow organically aligned with business needs.

Talent and productivity

Clojure is a talent magnet. It attracts people that are genuinely interested in technology and science and, in our case, most of the team had no prior Clojure or LISP experience before joining the company. Seniors have trained juniors, and juniors become seniors fast. We also have weekly learning sessions and book club, and develop doing pair programming (senior and junior).

The learning curve for Clojure is around 3 months. And after this period the productivity levels are very high.

Photo by Chris Bair on Unsplash

Profitability

Clojure is helping us to be a profitable business. We can build reliable and modern digital products with less effort and better designs (Clojure ecosystem is traditionally about more thinking and less coding).

We can achieve more with less code, and focus on business needs rather than technological issues. We also build products that need less maintenance, so we can cover more projects.

No technology risk

Clojure offers us a competitive advantage for building digital products. It excels in many aspects of the development process and, at the same time, does not limit us. It brings the best of both worlds: the innovation of a modern functional language and the robustness and reach of traditional platforms like the JVM and Javascript.

If every Clojure developer on earth (there are many more than you think) would disappear tomorrow, and all documentation was removed from the Internet, you could still continue building your product with Java and Javascript.

Happy developers

Business execution is about having the people aligned with the company’s strategy. In our industry, developer happiness is essential to build a great product and a profitable business. Clojure is giving us the opportunity to learn from its unique and brilliant community, and its smooth development lifecycle and tools enable developers to be highly creative and at the same time pragmatic and productive.

The future

The Lindy effect concept comes handy when trying to foresee the validity of ideas or technology in the future. Wikipedia defines it like this:

The Lindy effect is a concept that the future life expectancy of some non-perishable things like a technology or an idea is proportional to their current age, so that every additional period of survival implies a longer remaining life expectancy.

Clojure is based on concepts, ideas and technologies that have been around for many years. These ideas (code-as-data, immutability,…) continue to be relevant and are shaping the roadmap of many other programming languages. With the rise of next generation digital products, the complexity of the deployed systems will rise and languages like Clojure, that simplify the effort, will be at the forefront of innovation.

In Magnet we strive to make a living building great digital products, and we are confident that Clojure is the right choice to make this happen.