If you want different results, do not do the same things. - Albert Einstein
When talking to prospective clients, I sometimes hesitate about delving deep into our technology stack. Our clients want results, they don’t want a deep dive into functional language and immutable data structures. They basically want us to solve their problems reliably and fast.
So, what to do? (I am genuinely curious about other people’s experience as software developers talking to companies in the wild).
People come and go in organizations, software systems remain. And they can stay for a long time; look at banks, where 30-40 years old software is still running on Production, 24/7. The technology base you choose for your digital product is a critical decision, and it needs considering from different perspectives: technological, operational, financial, strategical. So going into details about how a system is built can be on point, after all.
Despite what people may think (low code, AI), it has become increasingly difficult to build a successful digital product. Users expect highly performant and simple yet sophisticated products and companies are struggling to deliver software systems that can adapt to new requirements and scale accordingly.
In our case, the tool that is giving us a competitive advantage is a programming language that has allowed us to remain a small team, innovative, independent and profitable. This is what Clojure has allowed us to:
- Reduce development costs. We are a small team with huge productivity, because Clojure allows us to express complex ideas with fewer lines of code.
- Reduce maintenance costs. Clojure products have fewer bugs, period. The immutability by default that Clojure offers leads to more predictable code.
- Increase developer happiness: Clojure allows developers to write code that is more concise and readable. And thus, we are happier and more productive.
- Have strong tooling and libraries: Clojure has a rich ecosystem of libraries and tools that can help us be more productive. Also, allowing us to leverage existing Java and Javascript libraries and frameworks is a huge plus.
- Boost innovation and agility: Clojure's powerful features allow us to create custom solutions to specific and challenging business problems with simple approaches. This leads to better collaboration among team members.
Clojure makes us special, but hardly unique. There are thousands of companies using Clojure at its core, from FAANG companies to mid-small size companies that are creating awesome products. I will list 5 companies I admire that you probably don’t know that heavily rely on this tool. There are plenty more but I will stick to five:
Nubank
Nubank is a Brazilian neobank headquartered in São Paulo, Brasil. With 100 million customers, US$1 billion in net profit and over US$8 billion in revenues.
More info about their Clojure story here.
Whimsical
Whimsical offers a collaborative workspace platform built in Clojure. They focus on helping teams brainstorm and develop ideas through tools like: Flowcharts, Wireframes, Mind Maps and Documents.
Their Clojure story here.
Metabase
Metabase is an open-source business intelligence (BI) tool that helps people understand and analyze data. Founded in 2014, async-first, quite distributed company, with employees spanning the globe (company size is around 100), from Southeast Asia to the West Coast of North America.
Their Clojure story here.
Pitch
Pitch offers a stunning software platform specifically designed for creating presentations. Founded in 2018 with 36 employees, and profitable.
Here they talk about their Clojure choice.
Logseq
Logseq is a cutting edge open-source note-taking and knowledge management tool designed to help you capture, organize, and connect your ideas.
According to this, “Logseq chose ClojureScript not only because of all the benefits of the language itself but also because of its awesome ecosystem, such as the DataScript library”.
-------------------------------------------------
Whether you are looking to develop complex and scalable applications or simple tools to solve your problem quickly and simply, have a look at Clojure, a tool that is supported by an active, vibrant and enthusiastic community that provides support, libraries, tools, shared knowledge and intense discussions.
In the times of hype and uncertainty, it remains a dependable tool with a resourceful community. Our (rational, evidence-based) love story with Clojure is going strong.