About Me
I'm a Software Architect and Java Chapter Lead based in Baku, with roots in mathematics rather
than computer science — I started programming on a Symbian phone as a math student, because I
couldn't afford a PC and wanted to teach myself Java by rebuilding a calculator I'd already
written. That calculator eventually became SpecExp, now with close to a million installs on
Google Play.
Over the past 10+ years, I've worked mostly on backend systems for payment platforms and banking
infrastructure — first at GoldenPay, building and scaling a core payment gateway from the ground
up, then at ABB, where I now lead Java engineering across multiple squads.
My approach to architecture is fairly consistent: understand the actual problem before reaching
for a technology. That's led me to some unusual solutions — replacing distributed locks with
database row-claiming, building a browser-to-hardware bridge from scratch when Java applets
stopped working overnight, compressing a 1.5GB batch job down to a 3-minute pipeline by
questioning an assumption nobody had checked. I'd rather spend a day understanding why something
is slow or fragile than a week adding infrastructure around the symptom.
I still write code regularly, review across teams, and mentor engineers — and outside of work, I
keep building things for the same reason I started: because I like it.
Skills
Java: Spring Boot, WebFlux, Hibernate, Hikari CP, AOP, Reflection API, Apache
HTTP Client, Apache Commons, OkHttp, Log4j, Slf4j.
Project Builders: Gradle, Maven, Apache Ant, GruntJS
VCS: GitLab, Bitbucket, SVN, GitHub
Distributed Systems: Redis, Apache Camel, Spring Batch, Kafka
My Projects
SpecExp Calculator
A scientific calculator and graphing tool built around one idea:
type long, natural math expressions and plot several functions at once,
with full complex number support. Nearly 1M lifetime installs on Google Play.
Math Codings
A numerical methods toolkit with the same intuitive expression input
as SpecExp — complex number and matrix operations, Newton's method,
Lagrange interpolation, Taylor series, Gaussian elimination,
and linear system solving.
Experience
Java Chapter Lead, ABB (May 2023 - Present)
- Lead Java backend engineering across multiple squads, combining architecture, code review,
and hands-on delivery for core banking systems.
- Designed a Spring Cloud Gateway protection layer (Redis + Lua) in front of a Flexcube-based
core banking system to isolate failing modules and apply backpressure before an anomaly can
spread.
- Redesigned distributed task processing around database row-claiming instead of
application-level locks, eliminating recurring duplicate-processing incidents.
- Cut a 1.5GB batch file pipeline from ~20 minutes to ~3 minutes by switching to compressed
streaming input with Spring Batch and Apache Camel.
- Serve as the go-to reviewer for other squads' backend and concurrency issues on systems my
team owns.
Software Architect, ABB (Sep 2020 - May 2023)
- Owned backend architecture for the Payment and Transfer domains across multiple Java teams,
balancing architectural decisions with direct delivery.
- Led modernization of legacy enterprise components onto Java and Spring-based services.
- Root-caused and fixed a framework-level memory leak in Spring Data repository usage, tracked
down via Dynatrace.
- Introduced short-transaction and row-lock patterns for concurrent task processing, replacing
misapplied distributed locking across teams.
- Mentored engineers on transaction boundaries, concurrency, and — just as often — when not to
reach for Kafka or another queue.
Head Of Software Development, Goldenpay (Jun 2018 - Aug 2020)
- Led the migration of the registered Hesab.az platform from .NET to Java, including
reverse-engineering a compatible BCrypt implementation so every existing user's password
kept working without a reset.
- Designed a dynamic merchant-configuration system for QuickPay, so new merchants could go
live through API configuration instead of code changes and redeploys.
- Built a browser-to-smart-card bridge using WebSocket and a custom protocol, replacing Java
applet support after browsers dropped it — shipped to production and later adopted as the
platform standard.
- Designed a configurable Campaign Service for bonuses, rewards, and achievements.
- Diagnosed and fixed a shared-state concurrency bug that could route one customer's billing
result onto another customer's smart card.
Senior Software Engineer, Goldenpay (Jan 2015 - Jun 2018)
- Built backend integrations across SOAP, REST, and RPC for more than ten payment merchants
with completely different APIs, standardized behind a common plugin abstraction.
- Investigated and resolved a recurring duplicate-billing issue through root-cause concurrency
analysis.
- Helped migrate core payment services from a custom MVC/Ant stack to Spring MVC and Maven.
- Prototyped an interactive SVG-based seat-map system for a client's ticketing platform, which
became the technical basis for their production feature.
Java Developer, Goldenpay (May 2012 - Jan 2015)
- Developed and supported Java payment and merchant-integration applications from the ground
up.
- Investigated production issues across Java, HTML, and PHP codebases, performing root-cause
analysis and shipping fixes.
- Progressively took on more ownership — production support, integrations, cross-team
troubleshooting.
Software Engineer, LSIM (Nov 2011 - May 2012)
- Built a J2ME mobile catalog application with a fully custom canvas-based UI, since the
platform had no native framework for it at the time.
- Automated a manual catalog and content-packaging process that had previously been done
entirely by hand.
- Built automation tooling in Excel/VBA and Delphi that replaced a third-party paid product
with an internal equivalent.
Education
Master's in Mathematical Analysis
Baku State University, 2008
Bachelor's in Mechanics and Mathematics
Baku State University, 2004