Engineering at an enterprise fintech
Every line reviewed, every query explained, every fix measured.
Backend modules and production support on a platform that banks and fintechs run on, built under PCI DSS: review and static-analysis gates on every change, SQL tuned against execution plans, code profiled before and after.
- Employer
- i2c Inc.
- Role
- Software engineer
- Stack
- Java
- Struts
- SQL
- Informix
- Apache Tomcat
- SonarQube
- Design, then code: The data flow is designed before the code is written.
- Review and gates: A reviewer reads every line; SonarQube, PMD, SpotBugs and Checkstyle check it.
- Measure: Execution plans and the profiler show the effect before it ships.
- Release: Small, reviewed changes reach the systems banks depend on.
- Support and fix: When production breaks, the root cause becomes a new change on the same path.
The environment
Changes here reach systems that banks depend on. That sets the process: design the data flow before writing code, pass code review and static analysis on every change, and show the effect of a change before it ships.
Finding performance problems
When something is slow I start from evidence. The execution plan shows a full scan where an index should be used, a function on an indexed column, or a sort that the right index makes unnecessary. A profiler shows where a batch job really spends its time. I measure before and after, and the numbers go with the change.
Production support
I investigate issues on live systems: reproduce them from logs and data, find the root cause, and ship a small, reviewed fix that is easy to reason about and to roll back, often the same day.
Data and platform work
- Multi-threaded batch jobs for high-volume financial data.
- Audit logging for traceability.
- Contributed to the platform's migration from Java 8 to a current Java LTS.
What I learned
In a regulated system, discipline is what makes speed safe: a measured, reviewed change can ship the same day.