Industry: Software Development
Location: Singapore
Roles & Responsibilities
Position
In a challenging and multicultural environment, we seek a Senior Java Developer to join our Core Banking IT department which is in charge of developing and maintaining the International Back Office Cash Management System. This information system is deployed in 25 business units all around the world. The system has multiple modules to manage reference data, commercial back office functions (payments, remittances, loans, deposits, guarantees, letters of credit …), accounting, management control and credit risk monitoring. The system caters to local regulatory reporting needs and head office reporting, based on a data warehouse.
The candidate will work to implement new solution for the cash management system of the bank, working in a team with BA, PM, tech Lead and co-developers.
Main responsibilities
In close interaction with the projects stakeholders, you will be accountable for :
Research, design, and develop software.
Analyse user needs and develop software solutions
The design and implementation a greenfield solution according the functional specifications in a latest Java technologies framework
The preparation, planning and execution of the roll-out from support to production services. The goal is to obtain a smooth roll-out of the application to different sites.
Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
Work with other engineers to integrate hardware and/or software systems
Close collaboration with the technical lead/Architect in order to elaborate technical specifications.
Develop specifications and performance requirements.
Drafting specifications, technical design, unit tests, code reviews and detailed system integration documents, additionally to any other documents required during the project lifecycle.
Contributions to help maintaining a high standard of delivery quality
Enable and support functional and user acceptance testing
Perform non-functional testing
Active participation in the analysis and resolving of issues when application will in production, and to provide technical support in case of need.
Qualifications and Profile
At least a Bachelor’s degree in any of these faculties:
Computer Science / Information Technology / Programming & Systems Analysis / Science (Computer Studies)
This position requires a minimum of 5+ years of relevant experiences in Java-J2EE software engineering, ideally in a banking environment
Functional
Financial/banking industry knowledge is plus.
Knowledge of Cash Management systems is a strong plus
Technical
Minimum 5+ years experience in web and stand-alone application design & development with Java/JEE technologies in Unix environment.
Excellent understanding and practical experience of Spring Frameworks (IOC, Spring Boot, Spring Batch, Spring Integration, Spring Security etc.).
Good understanding and practical experience on Docker, CI/CD and Kubernetes.
Strong knowledge and practical experience of Micro services architecture.
Practical knowledge of Jenkins, Maven, Master Deploy.
Strong knowledge of source code management tools such as Git, Svn
Excellent knowledge of messaging systems like WebSphere MQ, HornetQ
Practical experience on JavaScript technologies such as Angular 5/6, VueJs, Aurelia / Durandal or ReactJS.
Practical experience on working with application servers like Jboss, Jetty, Webphere.
Solution design using proven patterns, awareness of anti-patterns, performance tuning
Other Professional Skills and Mindset
Strong organizational and communication skills
Strong analytical and problem solving skills
Team spirit – Like explaining and sharing knowledge
Awareness of various software development procedures
Willing to work on new topics and to collectively propose innovative solutions
Proactive
Ability to follow defined procedures
Understanding and respect of cultural diversity