The fintech sector was worth $126.66 billion in 2018 and is estimated to more than double to $309.98 billion by 2022. Legacy players and incumbent banks across the globe have witnessed heavy competition from new and upcoming fintech startups offering innovative services. Investment in fintech more than doubled in 2018 to $112 billion, up from $51 billion the previous year.
The success of fintech is largely attributed to the growing digitisation sweeping the world, as both legacy players and traditional financial institutions undergo digital transformations to meet the demands of the customer. The fintechs competing with incumbent players need to offer innovative services and excellent user interfaces while hosting scalable & resilient platforms in order to be successful. Backend platforms refer to the fintech’s code that runs the business’s products and services. Backend platforms need to be robust and built with scalable infrastructure in order to deal with any potential regulatory or customer interface issues.
Before we evaluate some of the major features of the two main programming languages in fintech, here’s how they differ in code:
Python’s syntax resembles English, making it an easily readable language. Java, on the other hand, is an object-oriented language, i.e. it uses objects (data) to develop code for software programs, focusing primarily on the objective and use case. Python is dynamically-typed, while Java, is statically-typed. Statically-typed language is when the variable is checked at compile-time instead of run-time while a dynamically-typed language is one where the variable is checked during run-time. Both languages have their advantages and disadvantages, as we explore below:
Developed in 1991, Python has been one of the top choices for fintech developers for almost a decade now. When asked, Python was the third programming language that developers were looking to master in 2019. One of the most mature programming languages in the fintech market, Python is mainly chosen because of its dynamic nature. Primarily chosen to build and develop web applications because of its simple yet robust nature, here are three key features:
Python is a simple language to master, allowing complex code to be learned, written, and manipulated easily. In a dynamic sector such as fintech, developing your code with Python allows you to release your products into the market faster while reducing your potential error rate.
An incredibly agile programming language, Python allows fintechs and financial institutions to develop customized services according to customer demands. Python allows developers to rework the code and add new elements as needed, allowing businesses to incorporate new regulatory changes quickly and easily.
Python boasts an impressive ecosystem of libraries and tools that developers can leverage to build their platforms without having to build elements from scratch. The programming language also allows easy third-party integrations, thus allowing fintechs to access and collaborate to offer innovative services and products. When using Python in tandem with frameworks such as Django, developers can build an MVP faster, which then allows the product/service in question to be validated quicker. Fintechs need to be flexible and have the ability to add new services to their offerings. Python’s ability to integrate APIs make it ideal for leveraging recent Open Banking functionalities mandated in the EU and UK. This offers fintechs the opportunity to broaden their customer and client base with minimal effort or regulatory blocks.
Some of the major fintech companies using Python in their platform include payments giants Stripe, Venmo, and Dwolla, as well as the stock trading app Robinhood, which has now expanded to include cryptocurrency trading in its services.
A popular choice for legacy players and traditional financial institutions because of its inbuilt security, Java has been an integral part of several tech stacks in both fintech and finance. Developed in 1994, Java has been primarily used by larger enterprises, such as legacy banks and financial institutions, because it can securely handle large volumes of data. Java is an object-oriented programming language that has played a major role in the Big Data ecosystem. Here are three key features that make it an obvious choice for developers in finance:
Java offers developers a high level of functionality & deliverability, an important aspect in both finance and fintech due to the rapidly-evolving market. One of the most mature programming languages in the market, Java is both lightweight and flexible but still powerful to handle heavy volumes of data easily. Java is a fully portable programming language, i.e. it can be launched on any device, allowing institutions to provide personalised and competitive services for clients and customers.
Java has been the top choice for most banks and financial institutions for well over two decades, displaying an ability to be manipulated for both enterprise financial institutions and new fintech startups. It is well-structured and allows developers to leverage a comprehensive library of tools and third-party integrations. Java also offers security features out of the box, such as runtime constraints and an advanced security manager, helping preventing fraud and cybercrime.
More than 65% developers use Java as their main programming language, making it the most popular choice to write code across the world. This means that Java has one of the highest numbers of developers, allowing both fintechs and financial players an array of quality choices to pick their developers from.
Some major financial institutions using Java in their platform include JP Morgan and Square, among others. Marketplaces such as Amazon, Uber, Airbnb, and more, also use Java in their tech stack. In the US, more than 64,000 companies use Java as their main programming language. The bulk of Java’s market share – 64% of it -comes from the US, followed by India (11%).
While Java and Python have been the top two languages for several years now, several other languages are swiftly gaining popularity among fintech developers. Some of them include C++, .Net, Golang, and Ruby. In particular, Golang has emerged as a choice for developers seeking the inclusion of AI and machine learning. As a programming language, Golang is lightweight and has the capability to scale data effectively and efficiently. Due to its ability to run concurrent programmes easily, it allows the integration of AI and ML quite smoothly into its framework.
Building Your Platform vs. Choosing Third-Party Software
When it comes to fintech and finance, several companies, such as Temenos, Mambu, Backbase, etc. offer backend platforms for upcoming fintech startups. This allows fintechs to focus on building their products and services, without the hassle of having to build their own platform. There are several benefits to choosing a third-party provider to run your services such as well-tested security, ease of development and more. Also, by taking the pressure of building the platform yourself off the table, more time and energy can be focused on developing innovative services and improving existing products, etc. Choosing an existing platform can also help fintechs and financial institutions overcome regulatory blocks and enter new markets comparatively easier as mandates such as KYC regulations are integrated within the vendor platform.
In contrast, choosing an existing platform provider can have its downsides as nothing sets your business apart from the scores of others choosing the same platform. While there are levels of customization and personalization that can be optimised for each business, choosing a third-party software provider that also supports your competitors can affect how potential customers view your products. Additionally, choosing existing players can also mean that the technology offered is not agile, making it difficult to succeed in fintech’s dynamic environment. Choosing a third-party software to build your platform also means having limited control over your customers’ experience (security, interface, etc.) with the app/website.
Therefore, an argument can be made that the ideal solution is somewhere in the middle; finding a balance between developing your platform in-house and outsourcing some aspects of your backend platform to existing software developers. This is because taking the time to build everything from scratch can affect when you launch customer- and client-facing products. For new fintechs, it is particularly important to choose which aspects can be outsourced so that the time and effort can be better spent on developing new and improved products and services for customers.
The Role of Artificial Intelligence and Machine Learning
When it comes to emerging new players and technologies, several fintechs and some financial institutions have already begun including AI in their backend platform. AI and machine learning have been steadily incorporated to provide personalized & innovative services to customers while also leveraging the security and fraud-prevention capabilities to detect potential cybercrime and data theft.
Leveraging AI and ML in product and software development can lead to fewer errors, better insights, higher productivity, and faster turnarounds. When AI is incorporated, mistakes can be caught earlier, while machine learning allows higher amounts of data to be processed quicker, thus lowering operation costs and increasing the speed on deliverables. The accurate predictions and insights derived from using AI can lower production costs and increase efficiency by a great margin. According to research, Python has emerged as the best programming language to handle AI and ML incorporation due to its extensive library and easily integrated frameworks. ML’s need for constant data processing could potentially tip the needle towards Java, but Python’s libraries allow you to access, handle, and transform data just as easily. Several other competitors such as Golang and Ruby also offer AI and ML incorporation capabilities.
Python is also platform-independent, which means it can run on twenty-five platforms and is versatile enough to allow minor changes and modifications for every device and platform to be made quickly. This means that when incorporating AI and ML, developers can easily change the code to fit the requirement.
Successful Python integrations using AI and ML include Anaconda, which effectively analyses the market, visualizes data, and offers predictive insights. Venmo and Stripe, where AI and ML have been incorporated to include automation and develop an internal social network, have also leveraged Python’s potential successfully.
Enterprise institutions lean more towards Java because of its ability to process large amounts of data effectively. This means that Java can integrate machine learning and help businesses analyse their data to increase both productivity and profits. Incorporating ML and AI also decreases operating costs particularly when it comes to compliance and security measures which is very useful in a highly-regulated sector such as fintech.
The Penser Perspective
While both Java and Python have their pros and cons, it is important to choose your backend platform wisely. These are also not the only languages to consider for your platform. At the end, it’s important that you select one that makes the most sense for your business.
A good platform ensures excellent user interface, minimal issues, and allows customers to interact with your products and services easily. When building a platform, it is important to conduct due diligence and build a scalable, resistant platform that can handle large volumes of transactions, data, or any other factor that is a core aspect of the fintech’s business.
The code that is written must be good and secure, making sure to not leave any vulnerabilities exposed that can be exploited. The code should also allow for easy adaptation to any changes in regulations or market demands. A good fintech platform is built to optimize agile development, is functional, and deliverable while staying on top of trends. Fintechs, in particular, have the pressure to build something both current and enduring at the same time, given that new players constantly enter the market and the technology continues to evolve rapidly. At the end of the day, it is important for both enterprises & fintechs to choose a scalable, resistant, and functional programming language to build their product/service upon.
At Penser, we have extensive experience conducting technical due diligence for fintechs, financial institutions, and incumbent banks. Thus, we can offer expertise on the quality of the backend platform for venture capital, private equity, and growth equity investors considering any new investments in this space.
Special thanks to Godwin Schembri, Co-Founder and CTO at KnowMeKnow*, and Jacques van Niekerk at Penser for their invaluable input.
*KnowMeNow is a complete end-to-end customer verification service to help meet your KYC/AML compliance requirements. It is specifically designed to improve GDPR and Privacy controls, promote a customer-centric experience and to considerably reduce onboarding abandonments