Resume
Contacts
- dzmitrykashlach@pm.me
- Telegram
- GitLab
- Location: Belarus
Summary
Senior Backend Engineer (Java/Kotlin) with 10+ years of experience designing, building, and refactoring high‑load backend systems using Kotlin/Java 8-24, Spring Boot, and hexagonal architecture. I specialize in troubleshooting performance issues in complex monoliths, shaping scalable microservice architectures, and automating delivery with CI/CD pipelines (GitLab, Jenkins, TeamCity).
I am comfortable working across the UI stack when needed (Angular-based admin UIs) and used to agile environments, primarily Scrum (LeSS) and Kanban.
I’ve worked in teams of 2-7 people and closely collaborated with analysts, DevOps, managers.
During my career I’ve been working in fintech & insurance domain and also got experience with SaaS and
internal enterprise platforms.
I’m interested in solving architectural tasks and look for project where I could be helpful in this direction.
Work Experience
Dec 2024 – now Senior Kotlin Developer, Altabel Group
Product: Gift cards selling application.
Environment: Kotlin, Spring Boot, REST API, OAuth, Keycloak, Kubernetes, Elasticsearch, Loki, Grafana,
MariaDB, Gitlab, 3 backend developers, 1 devops.
Responsibilities:
- Designed and implemented core backend microservices from scratch.
- Ensured that backend is able to handle 200-300 RPS with Infinispan cache.
- Designed MariadDB schema and ElasticSearch indexes.
- Introduced static code analysis (
detekttool) improving code quality and enforcing coding standards across services. - Designed and implemented CI/CD: GitLab pipeline, Gitlab agent installation in cluster.
- Designed and implemented multi-realms(1 realm per 1 organization) authorization architecture leveraging Keycloak.
- Improved platform reliability by delivering seamless Keycloak upgrades with configuration migrations and template adaptations.
- Ensured operational visibility by running centralized logging and monitoring with Loki and Grafana.
- Ensured authorization system resilience by running Keycloak replicas in Kubernetes.
Sep 2022 – Nov 2024 Senior Kotlin Developer, Altabel Group
Product: Credit conveyor for issuing loans to individuals.
Environment: Kotlin, Spring Boot, ELK, PostgreSQL, 5 backend developers.
Responsibilities:
- Refactored Open API to remove tight coupling to an internal app, enabling integration of external partners into the credit conveyor.
- Delivered business features per product requests: automatic repayments, cession, integration with an external bank for stable repayment processing.
- Participated in architecture discussions; implemented hexagonal architecture; delivered service contracts (REST, Apache Thrift) with unit and integration tests.
- Implemented Spring Cloud Consul Agent customization for re-registering microservice in case of Consul agent restart.
Apr 2020 – Jun 2022 Senior Java Developer, EPAM
Product: Corporate library.
Environment: Java, Kotlin, Spring Boot/MVC, MySQL, 5 backend developers
Responsibilities:
- Reduced manual work for performance analysts by integrating the collaboration system (Spring MVC, Atlassian Confluence, ~100k users, ~1 TB MySQL) with the performance testing engine (REST API, Spring Boot/Data/Security, OAuth 2.0, JWT, Thymeleaf, Apache JMeter).
- Reduced escalations by tuning JVM garbage collector.
- Reduced escalations by optimizing problematic SQL queries (MySQL).
- Established a continuous performance analysis process and mentored two engineers.
- Decreased Time to Interactive (TTI) by 0.5s by configuring caching on Akamai CDN.
- Delivered talks for MJC (Minsk Java Community) School.
Apr 2018 – Jan 2020 Senior Java Developer, EPAM
Product: Business process automation for an insurance company.
Environment: Java, Selenium, MySQL, AWS S3
Responsibilities:
- Developed automation for day-to-day business processes (insurance domain, WorkFusion, Spring MVC, Java 11, Windows Server, Selenium).
- Decreased escalations by improving monolithic architecture and refactoring code.
Nov 2016 – Mar 2018 Java Developer, BlazeMeter LTD
Product: Test-plan generator for Apache JMeter.
Environment: Java, Apache JMeter, AWS EC2, AWS S3
Responsibilities:
- Developed a test-plan generator (Java 8, Apache JMeter, Spring Boot, AWS) to improve UX of the SaaS performance testing platform.
Nov 2015 – Oct 2016 Java Developer, BlazeMeter LTD
Product: Java library for CI/CD plugins.
Environment: Java, Maven, Nexus, REST API
Responsibilities:
- Designed a Java library for existing CI/CD plugins.
Jan 2013 – Oct 2015 Java Developer, BlazeMeter LTD
Product: CI/CD plugins for a SaaS platform.
Environment: Java, Maven, Nexus, REST API
Responsibilities:
- Designed CI/CD plugins (Jenkins, TeamCity, Bamboo) for a performance testing SaaS platform to run load tests within CI/CD pipelines.
- Developed a component for the open-source project Apache JMeter DNS Cache Manager to distribute load evenly from different locations during load testing.
Technical Skills
- Languages: Java (9+ years), Kotlin (4+ years)
- Backend: Spring Boot, Spring MVC, Spring Security, Spring Data, Ktor
- Databases: PostgreSQL, MySQL, MariaDB, Liquibase, Elasticsearch
- Infrastructure & CI/CD: Docker, Jenkins, Kubernetes, Git, GitLab CI, TeamCity
- Messaging & Integration: REST APIs, Apache Kafka, Apache Thrift
- Cloud Infrastructure: AWS (EC2, S3, Route 53)
- Caching & Logging: Infinispan, ELK, Loki
- Security & Identity: OAuth 2.0, Keycloak
- Performance: JVM tuning, SQL query optimization, application performance analysis
Foreign Languages
- English: B2 – upper-intermediate; confident in professional communication and reading/writing technical documentation.
Education
2001–2006 Electronics Design, Bachelor, Belarusian State University of Informatics and Radioelectronics (BSUIR)