Analyzes, designs, programs, debugs, and modifies software enhancements and/or new products used in local, networked, or Internet-related computer programs. Code may be used in enterprise or end-user applications, such as traveller management, guest management, biometrics capture, or desktop applications products. Using current programming language and technologies, writes code, completes programming, and performs testing and debugging of applications. Completes documentation and procedures for installation and maintenance. Provides in-depth technical trainings to internal engineering teams. May interact with government and enterprise customers to define system requirements and/or necessary modifications.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Performing requirement analyses and coming up with detailed designs.
- Performing unit testing using automated unit test frameworks.
- Identifying risk and conducting mitigation action planning.
- Reviewing the work of other developers and providing feedback.
- Using coding standards and best practices to ensure quality.
- Sound knowledge on Spring, Spring Boot, Spring Cloud, Spring Transaction Management, Hibernate, Restful WebServices, JMS and Apache camel.
- Sound knowledge on Core Java and Multithreading.
- Hands on experience on both SQL and NoSQL databases.
- Hands on experience in deploying applications in Linux environment
- Hands on experience in building Docker images, deployment, and auto-scaling of applications in Kubernetes environment.
- Certifications, Licenses, etc.: Fluent in programming languages and related certifications from Microsoft, Sun, Oracle is preferred
- Depth knowledge of Java Core, Java EE, Hibernate/ORM, JPA, Spring, RESTful Web Service.
- Experience with writing SQL in relational database like Oracle. Experience in Agile/Scrum or working in highly dynamic and changing environment.
- Experience with writing unit and integration tests for front and back-end code
- Experience on web technologies such as HTML5, AJAX, Java Scripts.
- Experience with application server like JBoss is a big plus
- Experience with Activiti and Liquibase is a plus
PREREQUISITES: Education: Bachelor Degree in Computer Science, Computer Engineering, Electrical Engineering or related field is required.