Skip to content
Darab Ahmed

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
The path of every changeNothing reaches production on trust: each stage leaves evidence.
fixDesigndata flow firstCodeCode reviewStatic analysisSonarQube, PMD, SpotBugsMeasureplans, profilerReleaseProductionbanks, fintechsProduction supportroot cause, fixfixDesigndata flow firstCodeCode reviewStatic analysisSonarQube, PMD, SpotBugsMeasureplans, profilerReleaseProductionbanks, fintechsProduction supportroot cause, fix
01 / 05Design, then codeThe data flow is designed before the code is written.
  1. Design, then code: The data flow is designed before the code is written.
  2. Review and gates: A reviewer reads every line; SonarQube, PMD, SpotBugs and Checkstyle check it.
  3. Measure: Execution plans and the profiler show the effect before it ships.
  4. Release: Small, reviewed changes reach the systems banks depend on.
  5. 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.