Crédit Agricole Corporate and Investment Banking (Crédit Agricole CIB) is the corporate and investment banking arm of Crédit Agricole Group, world’s 10th largest bank by total assets.
Our Singapore center is the 2nd largest IT setup (after Paris Head Office)” for Crédit Agricole CIB's worldwide business. We work daily with international branches located in 30 markets by:
- Envisioning and preparing the Bank’s futures information systems
- Partnering and supporting core banking flagships and transverse areas in their large scale development projects
- Providing premium In-house Banking applications
This unique positioning empowers us to bring our core banking business a sustainable competitive advantage on the market
We seek innovative and agile people sharing our mindset to support ambitious and forthcoming technological challenges.
Position
In a dynamic and diverse environment, we seek for a Senior Java developer to join our Cash Management and Corporate Banking Services (CCS) department in accountable of the development and maintenance of the International Core Banking System of Credit Agricole CIB.
What You'll Do:
- Architect a Powerful Ecosystem: 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
Qualifications and Profile
This position requires a 7+ 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 environmentGood understanding of SDLC, with experience on at least one agile and design methodology (Scrum, XP, TOGAF…).
- Vendor Payment processing Product implementation knowledge
Technical
- 7+ 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