Engineering

What Working in Fintech Taught Me About Building Software

The single most useful thing fintech taught me is this: in most software, a bug is an inconvenience; in trade processing, a bug is money and trust leaving the building at the same time. Everything else I believe about building software follows from sitting with that fact for a few years.

When the downside of being wrong is that high, your instincts change. You stop optimizing for how fast you can ship a feature and start optimizing for how confidently you can reason about what the system will do at 3am when something upstream misbehaves. Those are different goals, and they pull the design in different directions.

Simplicity is a reliability feature

Clever code is a liability on a system you have to support on call. The designs that held up best for me were almost boring: a clear path for a trade to flow through, obvious places where it could fail, and no surprising behavior hidden behind abstraction. When something broke at 2am, I could hold the whole thing in my head. That is worth more than any amount of elegance.

Isolate failure, don’t just handle it

Early on I thought reliability meant handling every error. It mostly means containing them. Architecting each trade channel as an isolated workload meant a problem in one never cascaded into the rest of the platform. The blast radius of a failure matters more than the failure rate.

Observability is not optional

You cannot fix what you cannot see. The work that paid off most was unglamorous: custom metrics, alert rules that fired before a problem reached live trading, dashboards that turned “something feels slow” into a specific latency spike on a specific service. Good observability is the difference between finding a problem and a problem finding you.

The lesson generalizes

None of this is unique to finance. Any system where correctness matters benefits from the same instincts: keep it simple enough to reason about, contain failures instead of hoping to avoid them, and make the system legible to the person who has to fix it. Fintech just removes the option of learning these lessons slowly.