What I've Learned Working in Fintech So Far
Four things I've learned over the last four years in fintech
Introduction
Over the last four years I’ve spent my career in building out software infrastructure for fintech products. My two years out of college I worked on backend infrastructure at WhatsApp Payments - building support to send money instantly in India using UPI, India’s real-time payment system. The last two years I’ve spent building out US payment infrastructure at Modern Treasury, covering ACH, check, wire, and real-time payment support across a number of US banks.
Fiat money movement powers the world economy, but besides a small few in the weeds, no one really knows how it all works. I hope by sharing a bit about what I learned I can make financial technology industry a little less opaque, and hopefully inspire people to be involved in it. Here are four things I’ve learned during my four years working in fintech:
It’s All Files
Most of the US financial ecosystem is powered by files, sent between SFTP servers, and powered by software written in the 70s and 80s. Sending money involves sending a payment initiation file, like a NACHA file or a PAIN ISO20022 file, to a bank’s SFTP web server. Receiving transactions involves picking up and parsing transactions out of a transaction file, like a BAI2 file or a CAMT ISO20022 file. In contrast, most modern day tech startups are web applications that communicate to downstream services using REST / HTTP. It may seem archaic, but the legacy file-based money movement system moves trillions of dollars through the economy every year, arguably more important than every web application built in Silicon Valley combined.
The upshot here is that our modern day financial ecosystem is extremely mature. Many people, who are reaching the end of their career now, have spent a lifetime making sure money gets to where it needs to without service interruptions. Unlike Facebook’s “move fast and break things” - these types of treasury services do not move fast - but nothing breaks either. Every month, hundreds of millions of people make payroll, pay their rent, feed their families, invest in stocks, and we’re better off for it.
The bad news is that it’s difficult to build modern day software companies that rely on these old file infrastructure systems. The knowledge on how to assemble these files is hard to hire for, and maintaining infrastructure for it is non-trivial. These file-based systems have downstream constraints that hold back the industry - since they were written in the 70s and 80s in COBOL, no can even update the code that it relies on anymore. At Modern Treasury, we built infrastructure to let companies move money without building their own treasury infrastructure in-house.
Banks be Banks
Banks, the ones that power the financial ecosystem, do not sell software. They sell banking services. J.P. Morgan Chase themselves have over 300,000 employees. This means a lot of mouths to feed, and there’s plenty of ways the bank makes money besides selling technology. For example, banks make most of their money selling financial products, investing cash, and providing investment services, like underwriting companies to IPO.
Banks do not make money with technology. One way of looking at it is that technology is a cost center - meant to subsidize other profitable ventures within the company. In order to stay competitive in corporate banking, banks will modernize their treasury services to stay up to date with competitors. The more efficiently this can be done, the better for the business’s bottom line.
The burden of innovation in financial technology falls to tech companies, like Facebook, Plaid, and Modern Treasury, and to non-profit governing bodies, like NACHA, SWIFT, and the Federal Reserve, who control payment standards. Banks play an essential role in enabling money movement, but it’s a partnership with an external entity that provides real value.
Standards Rules Everything Around Me
Standards permeate the financial ecosystem. ISO20022 is an XML file standard that is the industry standard for money movement, SWIFT is the standard file format for international wires, and UPI is the standard to send real-time payments in India, along with many others.
As a payments nerd, it’s not just important to know what these standards are, but to know why they exist. For example, ISO20022 file standards are the current state of the art file formats to move money with banks. Why is the state of the art a seemingly archaic file-based message? Understanding that most of the economy already has file-based money movement infrastructure is important context to understanding why the most modern money movement standard is still a file. We make it easy to send ISO20022 files to a bank through Modern Treasury.
UPI, the real-time payment interface of India, is a tightly controlled standard by the India’s NPCI, National Payments Corporation of India. To make an app that can make and receive UPI payments, you must use one of NPCI’s software-development kits. To get approved to move money, one must get the application approved by the Indian government. We faced these challenges getting UPI payments up and running in India when I worked for payments on WhatsApp.
Why is UPI so tightly held by the Indian government? It all makes sense when you consider that the purpose of UPI is to boost India’s economy. NPCI cares a lot about the UX being safe for Indian consumers, and wants to advantage home-grown companies in this competition. I think to truly understand fintech it’s not enough to understand what the rules for these technologies are, but to understand their motivations for existing.
Global Payments is Hard
Sending payments globally fast and cheaply is a giant unsolved problem in the world. SWIFT is the leading global standard to send wire payments globally, but it comes at high cost and high settlement time. Making credit card payments internally works, but the volumes here are trivial compared to other ways that money moves through the economy. Deel, for example, enables global payroll, and itself is a $12 billion dollar company.
Understanding the rules of other payment methods is also non-trivial. Last year, I wrote an article clearing some misconceptions on how to send an ACH internationally (spoiler alert: you can't). Banks maintain their own global payment products that enable them, but the rules at play are often hard to understand, on top of the messaging formats being non-standard. At Modern Treasury, I built a global payments product that enables money to be send internationally at the tenth of a cost of a SWIFT wire. To do so, we had to build a standard interface to send money regardless of the underlying bank or rules required.
At WhatsApp, it took us a long time to get the approval to send payments in India. Getting the approval to do so was an international challenge that took some of the best lawyers and partnerships people in the world to get done.
Great write-up!