Being a startup leader means making tough calls on a daily basis and decision fatigue is a real thing. One of the early tech decisions to make is the choice of what programming language to use when developing your product or service. There are myriad of reasons why companies choose certain programming languages. Unfortunately, a lot of the time the choice lacks logic and is guided by certain biases. This happens in companies of all sizes and even with senior teams. For startups, where every decision can make or break the business, making the optimal ones early on is just a little more important. Here’s why we vouch for Clojure being the optimal choice for startups.
First, a few biases to avoid when selecting a programming language for your startup.
1. The cost of what you’ve done before
When we invest our time, money, or effort into something, we are likely to stick to it, even if it’s not what we expected. Like seeing a bad movie in the cinema – how many people will actually leave halfway through? This can also be applied to the choices you make when building your product. If you’ve developed your prototype in a certain programming language, you will be more inclined to stick to it because of the effort you already put in. Even if you realize that it requires way more work in the future and that there are more suitable options out there. This bias is called “The sunken cost fallacy”.
Selecting a language is always a trade-off between benefits and limitations. But if you realized that the limitations outweigh the benefits, you’re better off making a change. The previous investment should not stop you from making a better decision moving forward. Let it go!
2. What others are doing
Looking only at what others are doing can also be a recipe for failure. The bias here is the bandwagon effect. It is explained as the probability of one person adopting a belief increases with the amount of people who hold that belief.
When selecting a programming language, you should avoid jumping on the bandwagon just because it’s a trend or an influencer mentioned it. The bandwagon effect can be dangerous. Simply put, you’re adopting a programming language with the core evidence being other people’s choices. But why is it right for you?
3. It’s just a hype
The pro-innovation bias happens when the proponent of the innovation overvalues its usefulness and undervalues its limitations. It is common in Silicon Valley, where new is always better and the value of the innovation is sometimes questionable.
When it comes to selecting a programming language, there’s over 700 to choose from, and there is always a hype about something new. As a startup you need to evaluate whether or not adopting the newest language on the block makes sense for your business, and just following the new hype tends to be frowned upon among serious developers.
What you should be looking at instead (and why we vouch for Clojure)
Time to market… and after.
Research shows that first market entrants enjoy advantages in terms of market share, revenue and sales growth. This is also called the “First movers advantage.” When selecting a programming language for the development of your product or service, you might wanna look at the time required to produce code to ensure you can achieve the goals set in your Go-To-Market plan. Clojure is expressive, its code is clear, concise, and easy to understand. This can make it easier to write code quickly and efficiently, and consequently launch your product faster.
But it’s not just about launching the product, what is often forgotten is that the time after launch tends to be way longer than the time before. Clojures expressiveness helps reduce the risk of errors and bugs. It also has on average 10 times fewer lines of code than a traditional language like Java and typically fewer lines of code is directly proportional to the number of bugs. Hence, developing in Clojure will save you (lots of) work in the long run.
Clojures expressiveness is one of the main things that makes it great. Beating the averages explains the magic of Lisp languages, and about how they enable a fast development cycle, which can become a startup’s competitive advantage.
Future-proof code that enables your team to keep building
One remarkable thing about Clojure is that it has such strong fundamentals and design, that if you build a product built in Clojure, you will rarely have a need to go back and remove old lines of code. Instead, you can focus on adding new lines of code and keep scaling the product.
This is exemplified in the two graphs below from the paper A History of Clojure by Rich Hickey. The first graph shows Scala’s code retention/churn from 2003 to 2019 and the second graph shows Clojure’s code retention/churn from 2006 and until 2019. It is easy to see how much more efficient Clojure is, as Clojure old code bases stay untouched, while new lines of code are being added.
Building a team and onboarding new members
Clojure will help you scale your product without scaling your headcount. It enables you to create a massive amount of functionality, with a smaller code base and if done right, a smaller engineering team. Your engineering team will be more productive and grow sustainably, while your product will move faster.
When it’s time to grow your team, the last thing you should be compromising with is the talent of your development team. Most Clojure developers are experienced, as it’s not a language that typically attracts beginner developers. It is known for attracting people with genuine interest in technology and science. Clojure does take longer to learn than a more traditional programming language (hence why a newbie might be put off by it), but after that knowledge is gained, it will allow your team to operate faster and with fewer errors.
A great thing is that Java developers can easily move into the world of Clojure as Clojure can leverage all Java code due to JVM. Hence, onboarding new members, especially if they have experience with Java, will be easier than you think.
Moreover, Clojure’s enthusiastic community helps with onboarding quickly as it provides access to a wealth of resources and support. The Clojure community is known for being very welcoming and helpful, and there are many mailing lists, online forums, and other resources where developers can ask questions and get help with their projects. There are also a wide range of libraries and other tools that can help startups build their products more efficiently.
Getting funding
Clojure startups get funding! Perhaps the above reasons result in not just faster time to market and better teams, but subsequently also better products because Clojure companies tend to have a high success rate in securing funding. The startups that Flexiana has collaborated with have managed to raise over $2.5B in funding only in the past 18 months and are continuing to be doing so.
Is Clojure right for your startup?
Selecting a programming language for your startup might seem like a daunting task and you should watch out for common biases when doing so. If you’re keen on building your product fast while saving time in the long run, having smaller and more productive teams, and better chances of getting funding, then Clojure might be just right for your startup.
Want to know more about our experience of building products and services with Clojure? Let’s have a chat.