Why Banks Pay So Much for Software (and Why It's Justified)
From the inside, the prices that look ridiculous mostly aren't.
I spent five years inside large banks. People always asked why their software costs so much. The answer surprised me - most of it is fundamentally well-spent.
Outsiders look at bank tech budgets and see waste. From inside, the picture is more nuanced.
What banks pay for
For a system that processes ~$1B/year in transactions:
- Real-time fraud detection
- 99.99% uptime SLA
- Audit trail for 10+ years
- Multi-region disaster recovery
- Compliance with 5-10 different regulators (PCI-DSS, SOC 2, regional banking regs)
- Penetration testing twice yearly
- Encrypted at rest, encrypted in transit, key rotation
- Identity verification + AML screening on every customer
- 24/7 on-call with quarterly DR drills
Each of those requirements is a real engineering capability. Each one has a cost. Multiply by the number of capabilities required.
The 80% no consumer sees
A consumer-facing fintech app shows you a balance and a "send" button. Behind that:
- Idempotent transaction processing
- Reconciliation across multiple ledgers
- Settlement timing across multiple rails
- Reversal and chargeback handling
- Reporting to regulators
- Tax reporting integration
- Customer dispute handling
- Internal investigation tooling
A startup fintech often looks cheap because they ride on top of a partner that handles the 80%. As soon as they need to own the full stack, costs explode.
Where banks DO waste money
The expensive parts above are mostly justified. The actual waste tends to be in:
- Internal tooling that hasn't been modernized in 20 years
- Vendor lock-in to expensive proprietary middleware
- Process overhead - change management that hasn't kept pace with what's actually safe
- Excessive committee structure for technical decisions
- Underinvestment in developer productivity (slow CI, bad dev environments)
Modernizing those areas is exactly what teams like the one I led at TD did. The savings are real but bounded.
The lesson for non-bank tech
If you're a startup fintech: respect what the banks know. The expensive parts of their stack are expensive for a reason. Rebuild them when you have to, but don't think you'll be 10x cheaper indefinitely. As you scale, your costs will converge with the banks' on the parts that matter.
If you're a non-fintech engineer: appreciate that "regulated" is genuinely different. The patterns I'm sharing on this site (idempotency, audit logs, separation of duties) didn't come from textbooks. They came from real customer-money systems where the failure mode is real money.