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)