Curriculum vitaeDownload PDF

Stanislav Alekminskii

Backend & Distributed Systems · Hands-on Technical Leadership

Istanbul, Türkiye · English C1 · stan@stasal.dev · LinkedIn · GitHub

Backend engineer working in Java and Kotlin on event-driven financial systems: transaction processing, financial reporting, and trading. Takes technical ownership of core backend scope: system design, production incidents, and reusable integration infrastructure used by other teams. Took over from a departing lead four times, on joining a project or partway through it.

EXPERIENCE

EPAM — Senior Software Engineer 2018–present

Financial transaction processing — one of Europe’s largest retailers Mar 2025–present

Joined a distributed three-developer team to replace the departing project lead and took over technical leadership of the core backend and processing components of a financial posting system. It handles ~4M events/day from 7 sources (POS, property/rent, and other financial transactions), with expansion to ~70 sources planned within six months.

  • Identified a scaling limitation in the streaming aggregation model: related accounting lines could expand past the configured stream limit. Designed a replacement built on bounded chunk reads, stateful postings, and size- and time‑based finalization, and made the case to the Product Owner for redesigning before growth made the limit critical. The implementation is nearing completion.
  • Restructured the core aggregation processor, whose logic had been concentrated in a single service that was hard to maintain and extend: introduced abstraction layers, reworked parts of the algorithm, and moved suitable computation into MongoDB aggregation pipelines. One problematic message no longer breaks processing for all sources.
  • Resolved a production incident within hours, on the live system: a collection without retention had grown to ~80M documents and the database could no longer keep up with the daily transaction stream. Added indexes, removed obsolete data, and introduced a retention procedure for the collection; processing returned to normal, and later stabilization removed the need for daily close monitoring.
  • Built from scratch a reusable adapter library for source-system integration: a documented multi-module Maven project with a Spring Boot starter, shared components, source-specific tests, and consumer-contract tests. Now used by three teams, with a fourth adopting it. Documentation is the first line of support, and adopting teams raise almost no questions.
  • Keyed Kafka messages by batchId, falling back to eventId, so related accounting lines stay together while load spreads across partitions. Co-designed and implemented a separate MongoDB partition-key strategy and Kafka-to-Mongo partition mapping, so broker and database scaling stay decoupled.
  • Influenced product scope as the Product Owner’s regular, often daily, technical counterpart: in some cases showed that existing functionality already covered the need, and the Product Owner dropped the proposed feature before refinement.

Financial reporting and external-user access — same retail client Jul 2023–Mar 2025

Kafka/MongoDB microservice system aggregating financial reports from multiple systems for franchise stores, published through a portal. Four developers, QA, and DevOps.

  • Designed and developed services for the reporting system; soon after joining, became a permanent participant in the project lead’s and architect’s regular technical sync.
  • Took over technical-lead responsibilities for the team when the lead moved to another project: design, development, candidate interviews, and code-review practices. Carried out the closing knowledge transfer to another team on site in Amsterdam.
  • In parallel during 2024, took over an access-management implementation for external business-partner users and owned its entire backend: researched Microsoft Graph API, reworked the inherited implementation where needed, and built the controllers and services, with PostgreSQL for state. By year end the team had a working MVP integrated with the reporting portal.

Confidential pharmaceutical client 2022–2023

Java development automating parts of chemists’ work in drug development. Most experienced engineer in a three-developer team that picked the project up after the previous team left.

Trading platform — one of Russia’s largest investment banks 2018–2022

Trading system that had grown out of traders’ Excel spreadsheets with VB macros. About five developers, eight analysts, one QA, and a technical lead; no dedicated architect role on the project. Kotlin in production.

  • Joined to replace a departing lead/senior engineer. When the planned handover was cut to 2–3 days, learned the system quickly and took over development and code review.
  • Co-designed and implemented a new flow publishing trader quotes directly to an exchange through QuickFIX/J. Diagnosing an exception in that work led to an upstream QuickFIX/J contribution.
  • Toward the end of the project, acted as team lead in practice: prepared roadmaps for Product Owners, discussed timelines, and screened incoming analyst requests with the technical lead before they reached developers, protecting limited development capacity from uncontrolled scope growth.
  • Introduced an explicit task flow (definition, refinement, estimation, development, review, deployment) in the core development stream; the team worked by it and refined it from 2019 to 2022. Reviewed code extensively and interviewed developer candidates.

Digital Mind Development — Software Engineer → Team Lead 2012–2018

Java EE/Oracle systems for a network of aluminium plants. Moved from .NET to Java on joining; took over the projects when the previous technical lead left, and became formal Team Lead.

  • Designed and implemented a Hibernate-based reporting engine with runtime entity configuration through dynamically generated XML mappings. A defect found along the way became an upstream Hibernate ORM fix.
  • As Team Lead: designed new components, defined and distributed development work, validated results, reviewed code, and worked directly with the customer and business analysts.
  • Developed software standardizing planned and unplanned repair records for electrolyzer equipment across the plant network (team of about four developers and two QA), including work on site at plants.
  • Designed the JSF frontend, including templating, for a foreman/technologist workplace application, took part in its development, and joined on-site deployment at the new Boguchany Aluminium Plant.
  • Initiated TeamCity deployment pipelines, development/review workflow improvements, and task- and review-tracking integrations.

Earlier experience: Freelance, 2011–2012: Java audio-recording plugin for IBM Lotus. Siberia-Intellect, 2007–2008 and 2009–2011: practical training, ASP/.NET and C# development, IT support.

AI-ASSISTED ENGINEERING 2025–2026

Self-initiated experimental work alongside project delivery at EPAM.

  • Built an automated review loop for agent-written code: a draft pull request gets a Copilot review plus several background Claude Code review passes, each with its own focus and a fixed JSON output. A consolidator rates the findings on one scale and returns a verdict to the implementing agent, which applies the fixes.
  • Created an umbrella repository joining the project’s components as Git submodules (chosen over subtree after evaluating both), with agent instructions and pre- and post-commit hooks. Moved project-specific engineering conventions from prose into checkable agent rules.

OPEN-SOURCE CONTRIBUTIONS

  • Hibernate ORM: fixed invalid SQL generated when an HQL query combines a left join to an unrelated entity with an implicit join in the select clause (HHH-11337). Found on Oracle while building the reporting engine; applied upstream with a regression test. Pull request #1696
  • QuickFIX/J: connection failures reported to session-state listeners now carry the affected socket address, so a failure can be traced to a host. Reviewed with the maintainers and merged for the 3.0.0 release. Pull request #451

TECHNICAL SKILLS

Backend: Java, Kotlin, Spring Boot, Spring Framework (Web MVC, Security, Data JPA/JDBC), Hibernate, Java EE (EJB, JSF, JPA)

Data & messaging: Kafka, MongoDB, PostgreSQL, Oracle, Avro, FIX (QuickFIX/J)

Cloud, delivery & observability: Azure, Kubernetes, Docker, Argo CD, GitHub Actions, TeamCity, Grafana

Build & development: Maven, Git

AI-assisted engineering: Claude Code, GitHub Copilot

EDUCATION & CERTIFICATION

Siberian Federal University

  • Master of Computer Science and Technology, specialization: Microprocessor Systems
  • Bachelor of Computer Science and Technology, diploma with honors

Claude Certified Architect — Foundations · Credly