Developing and maintaining a microservices architecture
Optimizing database performance and queries
Configuring monitoring, logging, and alerting
Handling deployment and infrastructure management
Conducting code reviews, mentoring, and designing architecture from scratch
Experience in Backend development for 3+ years
Strong proficiency in Kotlin and Java, including Kotlin data classes, sealed classes, extension functions, scope functions, Coroutines & Flow (structured concurrency, error handling, Flow operators), as well as Java Collections, Generics, and Stream API
Deep understanding of multithreading and JVM internals, including garbage collection, memory model, and performance tuning
Extensive hands-on experience with Spring Framework, including Spring Boot (auto-configuration, custom starters, profiles), Dependency Injection / IoC, Spring Data (R2DBC and JPA), Transaction Management, and Spring AOP
Advanced knowledge of PostgreSQL and SQL, including query optimization, EXPLAIN ANALYZE, indexing, complex queries, window functions, and CTEs
Proven production experience with Kafka, including producers, consumers, partitions, and offsets
Strong expertise in REST API design, including versioning, pagination, and error handling
Solid practical experience with Docker (optimized images) and advanced Git workflows (rebase, cherry-pick, conflict resolution)
Hands-on experience with monitoring and observability tools such as Prometheus, Grafana, and Micrometer, including structured logging, correlation IDs, and alerting best practices
Strong understanding of microservices architecture, including patterns, anti-patterns, high availability, fault tolerance, and scalability
Good knowledge of software design principles, including SOLID, GoF patterns, and DDD basics
Experience with testing practices, including unit testing, integration testing, JUnit / Kotest, MockK, and Testcontainers
Level of English – from Intermediate+ and above
Experience with database migration tools such as Liquibase or Flyway
Experience with Java 17+ features, including records, pattern matching, and sealed classes
Strong knowledge of Spring WebFlux / Reactive programming, including Mono, Flux, and backpressure principles
Experience with Spring Security, including OAuth2 and JWT authentication/authorization flows
Understanding of distributed transactions and consistency patterns
Practical experience with database scaling, including replication, sharding, and partitioning
Hands-on experience with Redis, including caching strategies, pub/sub, and distributed locks
Experience with Kubernetes, including deployments, services, ConfigMaps, and Secrets configuration
Practical experience building and maintaining CI/CD pipelines using Jenkins, GitLab CI, or GitHub Actions
Experience with distributed tracing tools such as Jaeger or Zipkin
Knowledge of event-driven architecture principles and patterns
Understanding of API lifecycle management
Experience with contract testing using Pact or Spring Cloud Contract
Experience with Camunda BPM or similar workflow/orchestration platforms
Background in fintech or banking systems
Andersen cooperates with such companies as Siemens, Johnson & Johnson, AstraZeneca, BNP Paribas, Allianz, Ryanair, TUI, Verivox, Media Markt, etc
For the past four years, our company has been growing annually by 60–100%, and we constantly involve top-notch specialists in our team
Andersen has mentoring and adaptation systems for new employees, and transparent performance review and assessment systems will allow you to determine your development path and plan your growth
The most important thing that we value in our employees is a commitment to continuous learning. The company supports them in this and gives them access to the best educational platforms, seminars, and practices. In addition, for over 19 years, Andersen has assembled a huge knowledge base and established a robust resource management institution
We have been strengthening our expertise since 2007. During this time, we have formed excellent teams with streamlined processes, where you can learn something new from your colleagues every day and enjoy your work
We are a cool young team of like-minded people communicating informally
You'll have a stable and competitive salary and an extensive benefits package
At Andersen, we have many different ways to grow. You can improve as a specialist or a manager, and all your activities will be decently rewarded