Back to search:Senior Java / Jakarta

Job description


• Involved in a team who manages core system development.


• Be involved and participate in the overall application lifecycle.


• Write and perform unit testing.


• Perform code review prior to every pull request and/or merge request.


• Define and communicate technical and design requirements.


• Define estimates (in Story Points) based on specified requirements.


• Troubleshoot and debug applications.


• Participates in standby mode / on call duty for issue solving.

Soft Skill


• Independent, have good communication and collaboration skills with other teams.


• Very Proactive. Initiate communication to avoid status quo.


• Strong problem-solving skills and the ability to troubleshoot complex technical issues.


• Mentor and Coach Jr. IT Developer and IT Developer


• Experience in handle in cross functional team with min 5 years

Minimum Requirement


• Fluent in English, both written and verbal.


• Experienced in minimum 3 full cycle of enterprise wide / cross country project using English as the working language.


• Minimum 5 years of experience in

o Java as the most recent programming language

o Springboot. In-depth knowledge of Spring Boot, including microservice architecture and REST API development.


• Good understanding of microservices concept.

o Expertise in implementing resilience patterns (retries, fallback method) and designing scalable systems.


• Good knowledge of:

o Spring framework, its principles, and various Spring modules.

o ORM/SQL mappers

o Databases


• Having knowledge of messaging system (JMS/Kafka/Rabbit/Redis)


• Deep understanding of Spring Security architecture and advanced security patterns.


• Extensive experience implementing complex authentication and authorization mechanisms, including OAuth2 and SSO (Single Sign-On),


• Ability to conduct security auditing and implement necessary measures to secure applications against common vulnerabilities (OWASP Top Ten) is a plus


• Mastery of Spring Batch capabilities, including job orchestration, scheduling, and monitoring.


• Experience in developing robust and scalable batch processing solutions with error handling, transaction management,


• Familiarity with integrating Spring Batch with external systems


• Experienced in analyzing and enhancing legacy code is an advantage.


• Experienced in JVM/concurrency troubleshooting as well as JVM tuning.


• Very good knowledge of most of the design patterns and design principles.


• Very good Linux foundations and scripting as well as exposure to containerization technologies (Docker/K8S)


• Knows various design pattern groups (GoF, EIP, Java EE, Microservices)


• 5+ years experience in Springboot with a proven track record of leading projects.


• Familiarity with Spring Cloud for distributed systems is plus.


• Knowledge of tools and practices for monitoring and logging in distributed systems (ex: Prometheus, Grafana) to ensure system health and performance.


• Strong tooling skills such as:

o VCS (Git/SVN)

o CI/CD (Jenkins/TeamCity/GitlabCI)

o Configuration management (Ansible/Chef/Puppet)

o Distributed logging (ELK/Splunk)