Bachelor's degree in Informatics Engineering, Computer Science, or a related field.
Minimum 4 years of experience (Middle level) or more (Senior level) in backend application development using Java and Spring Boot.
Proven experience developing scalable, secure, and high-traffic systems.
Proficient in Java version 17 or above (Java 21 is preferred).
Strong understanding of OOP, SOLID principles, and design patterns.
Familiar with modern Java features: Record, Pattern Matching, Sealed Classes, Virtual Threads (Project Loom), Switch Enhancements.
Experienced in using Spring Boot, Spring MVC, Spring Data JPA, Spring Security, and Spring Cloud.
Skilled in building and managing microservices-based system architecture.
Proficient with SQL databases such as PostgreSQL, MySQL, or Oracle.
Familiar with ORM tools such as Hibernate or JPA.
Able to design and build RESTful APIs and GraphQL.
Experienced in API documentation using Swagger or OpenAPI.
Familiar with authentication and authorization using OAuth2, JWT, and SSO.
(For Senior level) experienced in Spring Security and advanced configurations.
Familiar with messaging tools such as Apache Kafka, RabbitMQ, or ActiveMQ.
Experience working with cloud platforms such as AWS, Google Cloud, or Azure.
Proficient with Docker and Kubernetes for containerization and orchestration.
Familiar with CI/CD pipelines such as Jenkins, GitHub Actions, or GitLab CI/CD.