Job Description:
- Design and Develop a platform that fosters high throughput, low latency and fault tolerant cash management business solutions
- Embrace Complexity: Propose and Design a system capable of managing diverse payment products and Cash Management activities
- Boost Efficiency: Drive agility through more focused and structured business Analysis model.
- Navigate the Regulatory Landscape: Implement solutions that adhere to evolving regulations and new standards like CBPR+, HVPS+ and Data localization directions from central banks.
- The position requires autonomy and reliability in performing duties while maintaining close communication with the rest of the program.
- The candidate will need to develop a good understanding of both IT systems and business processes.
Main responsibilities
- Develop solutions following defined standards and high quality.
- Ensure Code quality, delivery and maintenance with non-regression Study, evaluate and provide feedback on functional specifications in terms of technical feasibilities.
- Manage the application designs, involve in hands development of cloud native solutions.
- Provide detailed estimation for development of solutions as part of agile-scrum ceremonies.
- Take care of the technical documentations, quality and standards of program wide software engineering objectives.
- Supervise and contribute to the non-functional testing Perform design and code review for peers Mentor junior team members.
- Perform level 3 Support of applications in production - analyze and resolve issues as they arise Manage/Co-ordinate with Vendor Development team on their deliverables.
- Review/Challenge the Vendor team on their technical/solutioning approach.
- Influence & Ensure that vendor follows CACIB best practices on Software Factory.
Requirements:
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 10+ years of relevant experiences in Java-J2EE/cloud native software engineering, ideally in a banking environment with cash management / Payments processing domain.
- At least 3-4 years of experience in cloud native / Kubernetes & Docker development, Streaming development on Hadoop platform will be added advantage.
Functional
- Basic understanding of payments and cash management domain and related software product development.
- Work on complex systems and a challenging international work environment.
- Good understanding of SDLC, with experience on at least one agile and design methodology (Scrum, XP, TOGAF…).
- At least one vendor Payment processing Product implementation knowledge (GPS, TPH, GPP, OPF etc.)
Technical
- Minimum 10+ years’ experience in web and stand-alone application design & development with Java/JEE/big data technologies in Unix/Linux environment.
- Strong ability to lead 5-8 technology enthusiasts.
- Ability to performance tune applications for low latency and fault tolerance.
- Excellent understanding and practical experience of Spring Frameworks (IOC, Spring Data, Spring MVC, Spring Integration, Spring Boot etc.) & Spark Streaming Frameworks.
- Strong knowledge on code version management tools such as GitHub/GitLab/BitBuket.
- Experience with automated build and deployment tools eg. Helm Charts, ArgoCD, Jenkins, Gitlab runner, Nexus, Harbour, Maven or Gradle.
- Experience of working in TDD and BDD environment with standard testing frameworks (JUnit, Mockito, Cucumber, selenium and SOAPUI).
- Strong knowledge on distributed systems particularly on messaging brokers such as IBM MQ, RabbitMQ or Apache Kafka.
- Good knowledge of RDBMS (Oracle, PostgreSQL) and no SQL (Hbase, MangoDB) database systems.
- Very good understanding of application system design, development, testing, deployment and maintenance using UML.
- Ability to assess interdependence and impact of a change at application level.
- Practical experience on shell scripting & Ansible equivalents for deployments and pipelines.
- Good understanding on container technologies such as Docker and orchestrations through Kubernetes.
- Experience in Polyglot & sustainable developments through GO, Rust, Python etc are nice to have.