Bereketab Shanka

Software Engineer
Download PDF

Summary

Software Engineer with 3+ years of experience building high-throughput FinTech and banking platforms for European clients. Works across the stack: Java and Spring Boot services that handle millions of daily transactions across multi-country deployments, and the React and TypeScript interfaces people use to run them. Takes full ownership from domain design through Kubernetes deployment and production support.

Experience

Mar 2025 – Present

Innowise · Warsaw, Poland

Full-Stack Software Engineer

European banking client operating across three countries. Worked in two teams within the bank's core engineering group: e-Arrest and middleware integration.

e-Arrest: Governmental Order Processing Platform

  • Built and maintained a system processing governmental orders (account and fund blocking, account tracking, customer information requests), serving thousands of requests per day across three countries.
  • Designed country-specific order flows in a shared microservice architecture, isolating jurisdictional differences while reusing a common processing service.
  • Contributed to the automated execution of seizure orders, blocking the required funds and transferring them through Tieto Payment Hub to the issuing authority, typically a bailiff, without manual intervention.
  • Owned the epic to build a React/TypeScript micro-frontend in the bank's shared micro-frontend platform, embedded in the staff customer service application, giving staff a direct view of a customer's arrest orders alongside other micro-frontends; drove delivery end to end with the Product Owner against agreed deadlines.
  • Developed full-stack features spanning Spring Boot backend services and React/TypeScript interfaces for the back-office operations team, from API design through UI delivery.
  • Diagnosed and resolved production issues under operational pressure, improving reliability of a system tied to legally mandated governmental workflows.
Read the case study →

Forex Payment Migration: Legacy ESB (IBM ACE) Modernization (Lead Developer)

  • Led the migration of a critical forex payment flow off a legacy ESB (IBM ACE) between Flexcube core banking and the trading platform, moving all orchestration into a new Spring Boot service handling debit and credit legs worth millions of USD each.
  • Redesigned the flow from parallel debit and credit calls to a sequential, transactional model, eliminating a race condition that risked double payments on high-value transactions.
  • Engineered a compensating transaction that reverses the debit against the core if the credit leg fails, guaranteeing financial consistency across the two legs.
  • Bridged Kafka and IBM MQ in the new service, consuming trade events from the trading platform over Kafka and exchanging debit and credit messages with Flexcube over IBM MQ using Spring JMS.
  • Built validation logic against the Flexcube core banking Oracle database, checking account status, available balances, and duplicate transaction references before executing each payment leg.
  • Built the replacement service from scratch on AWS (EKS, MSK, RDS, Secrets Manager), provisioning infrastructure with Terraform and shipping through ArgoCD and Kargo GitOps pipelines with DevOps.
  • Coordinated the migration end to end as lead developer with a supporting engineer, aligning the legacy-system team, the market and treasury team owning the trading platform, and DevOps.
Read the case study →
Jun 2023 – Jan 2025

Mereb Tech · Addis Ababa, Ethiopia

Software Engineer

Payments Core: High-Volume FinTech Payments Platform

B2B2C payment platform for a European client, serving 20,000+ merchants and 2M+ daily transactions.

  • Designed and developed modular microservices in Java 17/21 and Spring Boot, applying Domain-Driven Design to decouple complex payment workflows.
  • Championed and implemented Spring WebFlux (Project Reactor) on a non-blocking Netty runtime on Java 17 to sustain rush-hour peak API traffic of up to 5,000 requests per second across the platform, load that would exhaust a thread-per-request Tomcat pool, then migrated to virtual threads after the Java 21 LTS upgrade.
  • Built resilient integration bridges to the Stripe API using Kafka-based messaging for retries and idempotent processing of financial operations.
  • Applied CQRS to separate read and write workloads, serving merchant-dashboard reads from denormalized MongoDB documents while protecting the normalized PostgreSQL ledger from lock contention.
  • Implemented centralized logging and monitoring with the ELK stack and Prometheus, and enforced code quality through SonarQube and JUnit/Mockito test suites.
  • Containerized and deployed services with Docker on Kubernetes, with automated delivery through Jenkins CI/CD pipelines.
Read the case study →

Technical skills

Languages
Java 17/21, TypeScript, SQL, Kotlin
Frameworks
Spring Boot, Spring Security, Spring Data, Spring WebFlux, React
Messaging
Apache Kafka, IBM MQ (JMS)
Data
PostgreSQL, Oracle, MongoDB, Liquibase
Cloud & Infra
AWS (EKS, MSK, RDS, S3, ECR, Secrets Manager), Terraform
DevOps & CI/CD
Docker, Kubernetes, ArgoCD, Kargo, Jenkins, GitLab CI, GitLab Container Registry, Unleash (feature flags)
Observability
ELK Stack, Prometheus, Grafana
Testing
JUnit, Mockito, SonarQube
Integrations
Flexcube (core banking), Tieto Payment Hub, IBM ACE, Stripe
Practices
Microservices, Micro-frontends, Domain-Driven Design, CQRS, Event-Driven Architecture, GitOps

Education

In progress

BEng, Computer Science

Akademia WSB · Final year

Languages

Spoken

English (C1)