I build backend systems with Java and Spring, focusing on clear service boundaries, reliable data flows, and maintainable code.
I am a backend developer focused on Java and Spring. I build service-oriented applications with relational databases, messaging, security, and containerized infrastructure.
I also have practical experience with Go, C++, and backend development with C# and ASP.NET.
| Area | Technologies |
|---|---|
| Backend | Java 21, Spring Boot, Spring Web, Spring Data JPA |
| Data | PostgreSQL, SQL, JPA, Hibernate, Liquibase |
| Security | Spring Security, OAuth 2.0, Keycloak, JWT, RBAC |
| Messaging and caching | Apache Kafka, Redis |
| Communication | REST API, gRPC, Protocol Buffers |
| Architecture and design | Microservices, DDD, SOLID, OOP, Layered Architecture, Hexagonal Architecture |
| Reliability patterns | Transactional Outbox, idempotent event processing |
| Testing | JUnit 5, Spring Boot Test, Testcontainers |
| Infrastructure | Docker, Docker Compose |
| Build and CI | Gradle, GitHub Actions |
| Additional experience | Go, C++, C#, ASP.NET |
A Java 21 and Spring Boot microservice backend for a multi-brand car dealership.
- separate Order and Storage services with independent PostgreSQL databases;
- Hexagonal Architecture with explicit ports and adapters;
- asynchronous order approval through Kafka;
- Transactional Outbox Pattern and idempotent event processing;
- synchronous inventory queries through gRPC;
- authentication and RBAC authorization with Spring Security, OAuth 2.0, Keycloak, and JWT;
- persistence with Spring Data JPA and Hibernate;
- versioned PostgreSQL schemas with Liquibase;
- integration testing with PostgreSQL and Kafka Testcontainers;
- complete local environment with Docker Compose.
Java 21 · Spring Boot · Spring Security · PostgreSQL · Kafka · gRPC · Keycloak · Docker
A full-stack application for asynchronous AI music generation. My main responsibility in the team was the Go backend generation flow:
- accepting generation requests and persisting jobs in PostgreSQL;
- publishing job identifiers to a Redis queue;
- implementing worker-side queue consumption and job processing;
- calling the external Suno-compatible generation API;
- handling completion callbacks and updating job and track state;
- delivering generation updates back to the client.
Go · PostgreSQL · Redis · REST API · Worker · Docker
| Project | Description |
|---|---|
| Interpreter | Interpreter with a lexer, parser, AST, runtime values, functions, collections, and control flow |
| TaskScheduler | Lazy dependency-based computation graph with typed future results and memoized execution |
| UnrolledLinkedList-STL | STL-compatible unrolled linked list with iterators, allocators, and exception-safety tests |
- maintainable Spring applications with clear domain and service boundaries;
- layered and Hexagonal Architecture, DDD, SOLID, OOP, and design patterns;
- secure REST APIs and role-based access control;
- reliable database and event consistency through transactions, outbox, and idempotency;
- synchronous and asynchronous communication with REST, gRPC, Kafka, and Redis;
- integration testing against real infrastructure with Testcontainers.
