The most interesting thing machine learning ever did to finance wasn’t optimizing a trading strategy or shaving milliseconds off a transaction. According to Ioannis Bakagiannis, an ML expert at RBC Capital Markets, it was forcing the industry to actually ask a question it had dodged for decades: why do we trust anyone with financial decisions at all?

Before ML came along, loan approvals, rate determinations, and portfolio management were handled by humans with expertise. People trusted those experts, often without question. But when models started automating those same decisions, suddenly everyone wanted to know why a black box deserved their confidence. Bakagiannis sees that skepticism as a feature, not a bug. The pushback against algorithmic decision-making sparked a genuine conversation about trust and ethics in finance—one the industry is still figuring out. And notably, that conversation now applies to human decision-makers too, not just models.

Where things get messy is underneath the hood. Established banks are effectively tech companies now, but they’re tech companies running on infrastructure that predates the iPhone. Bakagiannis points to legacy systems as the biggest structural challenge. Every migration to a modern ML stack carries compounded risk: financial, regulatory, and reputational. A failed deployment at a bank isn’t just a bug—it’s a potential compliance violation and a front-page story. That risk stack makes established institutions far more conservative than the fintech startups nipping at their heels.

The mistakes that scare him most happen at the intersection of technical and non-technical teams. ML engineers can build a model, but if the business KPIs and the model’s objective function don’t align, the whole thing collapses. Bakagiannis has watched applications go to production predicting the wrong labels or optimizing for the wrong prediction windows. The waste isn’t just computational—it’s behavioral. A misaligned model can push users toward unwanted actions. And by the time anyone notices, it’s already live. The fix, he suggests, isn’t more GPUs. It’s better processes and communication buffers between teams that speak fundamentally different languages.