Working with Erlang: Q&A with Marcus Kern, CEO of CFT Group
4 MINUTE READ
Compared to other programming languages, Erlang isn’t that popular. But the language has recently been gaining traction with those who wish to build highly reliable and scalable services.
While everyone would like to have those aspects, fewer people are willing to invest the time and energy into doing it right with Erlang. For this reason, Erlang lacks mass appeal but is popular in some specific niche areas such as FinTech, Blockchain, and IoT.
Marcus Kern is CEO and co-founder of CFT Group – a FinTech startup based in south east Cornwall. They are currently attracting a lot of attention in the industry with their recurring payments platform, Duesday – built primarily on Erlang.
It’s a mobile platform which gives consumers a flexible alternative to pay regular monthly bills, the ability to split bills between individuals, and even earn discounts for paying early. Just four months since launching, Duesday has already been shortlisted for Best Consumer Payments Initiative in FinTech Future’s PayTech Awards.
We spoke to Marcus for insight into building a product and scaling a development team with Erlang.
What are the 5 most important personal qualities/values you look out for when hiring Erlang developers?
In a nutshell I’d say:
- Independence and the ability to think outside the box
- Excitement for change
- A desire to learn and share learnings
- Experience with the pitfalls of object-oriented programming and non-scaling software
- A willingness to take shared ownership of code
Why did you choose Erlang for your tech stack?
Erlang is built for high performance and scalability. This makes it great for transactions in a global payment network. And since it’s been around for more than 30 years, it’s now practically bug-free. One analogy that helps convey the benefits of Erlang is to compare it to an airplane. If Erlang were an airplane, you’d be able to change out the engine mid-flight. This makes it highly suited to agile environments.
What are your thoughts on code agnostic hiring?
I think most developers worth their salt are not exclusively set on one programming language. Everyone has preferences, but good coders generally want to use the best tool for the job rather than be fanboys of a particular technology. However, flexibility in language is very different to agnostic approaches to software development. I think there are very clear advantages to test driven development, behaviour driven development, and agile techniques. For us, candidates must show a desire to approach software development in a way that is well supported through test coverage and supportable in the way it is deployed well and often.
How do you see Erlang development progressing in the future?
We’ve already seen Elixir (2011) and Phoenix (2014) building on the strengths of Erlang and pushing it further. They opened up Erlang to the web generation. In more general terms I think we will see more and more functional programming approaches even for object oriented languages. When a handful of my developers first got excited about Erlang twelve years ago, it was pretty much impossible to find enough talent with experience. I think this has changed in the last five years and we will see Erlang & other functional programming languages continue to expand into many areas.
If you could sum up in five sentences or less your advice on building an Erlang Development team, what would it be?
Any high-performance back-end challenge can benefit from using Erlang. For greenfield projects, start with two experienced developers and one junior eager to learn, then bring in more mid-level and junior staff every couple of months. For existing teams, ask who is either most frustrated about the current state of affairs or who is most excited about functional programming and let them become change catalysts. Lastly, If time is in short supply, consider taking in consultants for a short period to work alongside team members with little or no Erlang experience.
How do you use Erlang at CFT Group?
Right from the start we decided to use a micro-service-based architecture, where some services would be written in Java and some in Erlang. We did this to insure against the limited availability of Erlang developers, but we were lucky that most of our dev team feel excited about Erlang. So the majority of our services are now Erlang backed. We hope our Duesday financial transaction platform will re-invent direct debits and recurring payments across the UK, Europe, and beyond. The platform gives everyone in the UK the opportunity to have greater control and transparency when paying their regular bills and direct debits.
Looking to expand your development team? Get in touch: firstname.lastname@example.org 0203 137 7005 / 07946 191 397