- 5+ years of professional experience in software development with Java
- Strong knowledge of Java Core (collections, multithreading, streams API) and Java 8+ features (lambdas, optionals, functional interfaces, records, etc.)
- Solid experience with the Spring stack: Spring Boot, Spring Cloud, Spring Data (JPA, JDBC)
- Proficiency in object-oriented design, design patterns, and software engineering best practices
- Hands-on experience with messaging systems like Apache Kafka
- Strong SQL knowledge, with experience in relational databases (e.g., MySQL/Postgresql)
- Experience writing and maintaining tests using JUnit, Mockito, Testcontainers, WireMock
- Familiarity with CI/CD tools such as TeamCity or Jenkins
- Strong troubleshooting and debugging skills, including working with monitoring and logging tools (Grafana/Prometheus, ELK)
- Willingness to participate in an on-call duty rotation to support production systems, ensuring timely response and resolution of critical incidents
- Excellent communication and collaboration skills, with the ability to work across teams
- Knowledge of microservice design principles and distributed systems
- Experience with NoSQL databases (e.g., Redis, Aerospike)
- Knowledge of Docker and Kubernetes for containerized deployments