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 versatile scientific calculator for engineers and
mathematicians with advanced functions, intuitive interface, and offline
use.
Math Codings
Advanced math programming application for engineers and
programmers.
Features complex number and matrix operations.
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