Why is Pisano happy with Clojure?

Ertuğrul Çetin
Nov 5, 2019 · 4 min read

At Pisano, we build a sophisticated customer experience solution for organizations. Since our motto is speed and reliability, we choose robust, scalable and productive tools to build the platform, so this is where Clojure comes into play.

Clojure is a functional programming language (a Lisp dialect), that runs on JVM (Java Virtual Machine), CLR (Common Language Runtime) and JavaScript (ClojureScript) platforms.

Image for post
Image for post

Choosing Clojure

Before I joined the team, there were only 2 team members with professional Clojure experience. After a radical and bold decision, we started to rewrite the dashboard in ClojureScript; therefore, teaching and guiding the team with a new language and platform.

Image for post
Image for post

Building a Team

In the beginning, we had some concerns because the team had to learn a new paradigm and write production-ready code. Our junior developers learned the platform and language quicker than I expected. The more they wrote in Clojure, the more they loved the language. Of course, it did not seem idiomatic at first glance.

We were very aware that it was a medium/long term investment. We had witnessed that our team members were not willing to develop upon the old codebase. I assume, as all Clojure developers might, they were fascinated by the simplicity of the language.

It is difficult to find a user familiar with Clojure and there were approximately 10 or fewer people who developed the production code like us (in Turkey). If you plan to switch to this platform, your options are to train your team or hire an international Clojure developer.

Feedbacks

The reason why we decided to proceed with Clojure was not only because of its niche and visionary language but because of its time efficiency and productibility. Therefore, taking the executive decision to implement and enhance an enterprise product, Pisano.

  • Our junior team members started to develop the code for production within almost 2 months.

Technical Acquirements

  • Recently, we have implemented our new dashboard and it exhibits much better performance compared to the old one.

Benchmark

Comparing old codebase (first image) and new codebase (second image):

Image for post
Image for post
Old codebase
Image for post
Image for post
New codebase — ClojureScript

What is the Next Step?

At the moment we have 2 Clojure services: Dashboard (ClojureScript) and Event Analytics (Clojure). Our goal is to move all services to Clojure and only use one language for backend and frontend to increase optimization/productivity within our development cycle.

One of the advantages which Clojure enabled is establishing a more efficient and pleasant environment to work with; especially when developing an enterprise platform, the outputs are very clear. The following list displays several well-known organizations using Clojure…

  • Walmart

I want to thank Pisano team; Muhammet S. AYDIN, Sabire Avcı, Burkay Durdu, Oguzhan Aydin, Ergenekon Yiğit and Alican Çelik

Note: To learn more about Clojure, you can read my other Medium post.

Ertuğrul Çetin, Software Development Team Lead @Pisano

Would you like to be a part of this journey? We are looking for software engineers to join us! You can drop an email to hello@pisano.co with your CV attached.

pisanoeng

Pisano Engineering

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store