Stuart Holloway, president at Cognitect (Nubank), recently said something that sticks to my mind: “Clojure is for companies that see IT as a competitive advantage, not a liability”, and I would like to share some thoughts on this because I think he really nailed it.
Currently our industry is going through massive layoffs or, depending on who is talking, “downsizing”. We are facing tough times, but not that long ago, many companies accelerated hiring as if there was no tomorrow and bet on growth instead of margins.
Bootstrapped companies like ours, which depend on revenue from clients, are probably not as glamorous as Silicon Valley startups with flush funding and thus have to grow organically with the help of our clients. Hence, it has always been crucial for our survival to have healthy margins. And that is why, among other things, we chose Clojure(script) as our main programming language.
There are a few reasons for this. First, our main expenses are salaries so the fewer people the better. But how can we deliver the same or more value with a smaller team? The answer, as you may probably know, is a powerful tech stack. Underlying technology that needs less maintenance, reduces technical debt and gives high leverage; tech stack that can serve different purposes, from front end to back end, and everything in between.
People can come and go but systems stay for a long time. For instance, the Banking sector, which is entirely dependent on information processing, is still using old technology that runs 24/7 robustly. In this regard technology is not a trend to follow but a core asset that businesses of all sorts rely on, and choosing the right tech base is particularly important for any organization that wants to be relevant in the coming years.
Another reason is flexibility. Bootstrapping a greenfield project is relatively easy but evolving it according to business needs is certainly not. The capacity to make changes easily is a huge competitive advantage and this requires simpler tools such as Clojure(script). Tools that let you add new or modify existing features easily.
Also, we are all constantly bombarded with stuff, it’s the bane of modern life. The cognitive load humans are subjected to is too much for our overwhelmed brains, particularly in knowledge-based industries like ours. Simple tools that let you focus on the business domain are what we need: less time on tech, more on real problem solving. Clojure(script) excels in this aspect once you invest in time and skills (1 to 3 months of effort, according to our experience with Junior developers).
Finally, talent. One of the unique features of Clojure(Script) is its bright, super helpful and all-around nice community. And when everyone is looking for the best and brightest, having a compelling community that attracts the most curious and passionate people it’s a huge plus. People that ultimately create amazing value propositions, unleash the team’s potential and creativity, evolve software with grace and ease, enjoy learning and teaching every day.
We at Magnet consider Clojure(script) instrumental to our business strategy and company culture. Over the years, we have built more than 20 projects with this tech stack and we have developed an internal platform that enables us to speed up the bootstrapping, development and deployment processes. Since it’s immensely useful for us, we are open sourcing the platform and hopefully it will be available for the community in the coming weeks. Stay tuned!