Responsibilities
- Provides estimation on resources, budget and risks involved during application development and enhancement, and reviews work quality (i.e. Code, test and etc.) of team members when functions as team lead
- Collaborates with users to understand, acquire and analyse business requirements to formalize system specifications, ensuring project meets business and standards requirements
- Conducts system design, code development and prototypes for application, including unit test, integration test and user acceptance test (UAT), ensuring business requirements and software development standards have been met
- Responsible for the application support and maintenance, working with system administration team to plan upgrades, optimize application architecture and performance in order to improve efficiency, reduce costs and optimize resources
- Conducts post implementation review, proposes suitable technical solutions to resolve issues and ensure root causes are identified and resolved to improve software design and coding standards
- Provides support in various IT projects as required to promote cross-functional learning and development, balance team workload and enhance overall team productivity
Requirements
- Bachelor’s degree in Computer Science, Software Engineering or its equivalent
- Minimum 4 years of working experience in software development and object-oriented programming in Java, spring framework and spring boot
- Familiar with front-end frameworks (Angular or React)
- Experienced with cloud-based, CD/CI or DevOps development environment and with implementing APIs and Spring Boot Microservices, integrating with external systems
- Experience in Structured Query Language (SQL) and report design tools
- Good fundamentals in data structures, algorithms and multi-threading/ parallel processing and in open source development environment including Hudson, Jenkins, JUnit, and Subversion
- Strong work knowledge and experience in Agile development methodology