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.
* Troubleshoot and debug applications.
* Define estimates (in Story Points) based on specified requirements.
* Participates in standby mode / on call duty for issue solving.
Recruiter Instructions
Minimum requirement
* Fluent in English communication.
* Experienced in JAVA programming language ( middle to senior)
* Experienced in analyzing and enhancing legacy code is an advantage.
* Good understanding of microservices concept.
* Very good knowledge of most of the design patterns and design principles.
* Knows various design pattern groups (GoF, EIP, Java EE, Microservices)
* Experienced in JVM/concurrency troubleshooting as well as JVM tuning.
* 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)
* Very good Linux foundations and scripting as well as exposure to containerization technologies
(Docker/K8S)
* 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)