Search by job, company or skills

Credit Agricole CIB

Senior Technical Lead (Java)

8-10 Years
new job description bg glownew job description bg glownew job description bg svg
  • Posted 5 hours ago
  • Be among the first 10 applicants
Early Applicant

Job Description

Who we are

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 challenging and multicultural environment, we seek for a Back-End Technical Leader to join our CCS Department, which stands for Cash Management & Corporate Banking Services. Our department is at the heart of many large and deep IT transformation programs of the Bank.

The role is responsible for driving the technical vision, architecture, and execution of technology solutions within the team. It involves guiding and mentoring the software engineering team, fostering innovation, and establishing best practices for software development, deployment, and maintenance. Primary focus will be on Loan Management solutions and the Loanscape Integration Layer application (LIL), supporting the CACIB Financing operations. In addition, the role includes development and maintenance of CBI Integration Layer (CBIIL) framework application which serves as a Building Block for other CBI initiatives.

Main Responsibilities

Technical Leader primary responsibilities include:

  • Technical Strategy & Vision: define and execute technical roadmap, ensuring alignment with organizational objectives and emerging industry trends.
  • Architectural Leadership: Oversee the design and implementation of the application, ensuring it's scalable, maintainable, and architecturally efficient.
  • Team Leadership & Mentoring: Provide technical guidance, mentorship, and support of the software engineering team to cultivate technical excellence.
  • Collaboration & Communication: Act as a bridge between the technical team and Product Owners, including Business Analysts and Project Managers, translating business needs into technical solutions and vice versa, and contribute to study, evaluate, and provide feedback on functional requirements as needed.
  • Innovation: Explore and advocate for the adoption of cutting-edge technologies, tools, and practices to maintain a competitive edge.
  • Governance: Ensure adherence to coding standards, security policies, and compliance regulations.

Additionally, as a Senior Software Engineer, role includes:

  • Cloud-Native Integration Layer Development: Accountable for designing and implementing a cloud-native (Kubernetes, Docker, S3) Integration Layer Application for Trade Finance applications, servicing both Back Office and Front Office applications.
  • Smooth Roll-Out Execution: Prepare, plan, execute the roll-out process from support to production services to ensure a smooth deployment of the application across different sites.
  • Software engineering: Estimate the cost of development and Implement solutions in line with business requirements / user stories.
  • Delivery Quality Maintenance: Contribute to maintaining high delivery quality standards.
  • DevSecOps Integration: Incorporate and implement DevSecOps principles into the Software Development Life Cycle, embedding security through design, continuous testing, automation to deployment.
  • Issue Analysis and Resolution: Actively participate in analyzing and resolving issues throughout different software development life cycles (incl. production support).
  • Tool integration: Integrate new tools with the existing enterprise application ecosystem of the bank.
  • Documentation: Draft Specifications, technical designs, unit tests, code reviews, and detailed system integration documents. Produce any other documents required throughout the project lifecycle.
  • Coaching and Training: Coach and training junior software engineers, helping them grow into important IT roles.

Qualifications and Profile

This position requires a minimum of 8 years of relevant experience in Java software engineering, at least 3 years of prior experience as a Technical Leader, and ideally in a banking environment.

The ideal candidate is an experienced technology professional with a track record of leading successful projects, building high-performing teams, and solving complex technical challenges.

Bachelor's or Master's degree in Computer Science or related technical education.

Primary skills (minimum 8 years of experience):

  • Domain-Driven Design: Proven experience in designing applications using Domain-Driven Design principals, understanding of bounded context, awareness of design patterns and antipatterns.
  • Java Language: Minimum hands-on experience of 8 years in core concepts and features introduced in Java 8 or later.
  • Spring Framework: Strong experience in the framework, including core modules such as Spring Boot, Spring MVC, Spring Data, and dependency injection, with focus on building scalable and maintainable applications.
  • Microservices Architecture: Proven experience in designing, developing, and maintaining microservices-based applications.
  • Cloud Technologies: Hands-on experience with cloud-native platform and on-prem/public cloud solutions. (e.g. GCP, AWS, Azure)
  • API Development: Proficiency in building scalable and secure APIs, adhering to industry standard practices in versioning, documentation (e.g. OpenAPI specs). Hands-on experience with asynchronous and event-driven APIs (AsyncAPI specs) and messaging protocols is a plus.
  • Containerization: Experience in containerizing Java applications using Maven plugins, particularly Jib, to build Docker or any OCI-compliant images, optimize container builds, customize layers, manage container metadata.
  • Orchestration: Proficiency in deploying, managing, and scaling containerized applications using Kubernetes, including experience with resource management, namespaces, and Helm charts.
  • Apache Camel: Hands-on experience in developing integration solutions using Apache Camel, including designing, and implementing enterprise integration patterns (EIP), route configuration and message transformation.
  • Messaging Systems: Experience with messaging systems like Apache Kafka, RabbitMQ or WebSphere MQ, including designing, implementing, and maintaining event-driven architectures and message queues. Knowledge of rule engines and decision tables in a microservices or event-driven context.
  • Application and Web Servers: Experience with JBoss, Jetty, Apache Tomcat or alternatives.
  • Databases: Strong understanding of relational databases (e.g. PostgreSQL, MSSQL), and preferably with database management experience in a cloud environment. Experience with Hibernate ORM for database integration and queries optimization.
  • CI/CD concept: Experience with continuous integration and Continuous Delivery/Deployment pipelines.
  • Version Control: Proficient in version control systems, particularly Git.
  • Integrated Development Environments: Experience with Eclipse or IntelliJ.
  • Code Quality: Strong understanding of code quality practices, including code reviews, unit testing / TDD, and integration testing. Experience with SonarQube and Checkmarx source code analysis tools.
  • Behavior-Driven Development (BDD): Experience in implementing BDD practices using tools like Cucumber and X-ray for Jira, integrating BDD frameworks into CI/CD pipelines to ensure continuous validation of functional requirements.
  • Security: Understanding of security principles, authentication protocols (e.g. OAuth, SAML) and encryption techniques, and application and cloud security best practices.

Secondary skills (up to 5 years of experience):

  • Prompt Engineering: Fundamental knowledge of prompt engineering concepts and techniques with basic experience in crafting clear, contextually relevant prompts to guide AI Code Assistant tools (e.g. Copilot, Tabnine or ChatGPT).
  • Performance Optimization: Skills in profiling and benchmarking tools for Java applications, load testing and stress testing tools like JMeter or Gatling, and familiarity with microservices performance tuning including API latency reduction, optimizing inter-service communication and resource utilizations.
  • DevOps tools:

- Artifact Management: Familiarity with Nexus, JFrog Artifactory or similar tools.

- CI/CD Pipeline tools: Experience with Jenkins, Gitlab CI/CD or ArgoCD.

- Infrastructure as Code (IaC): proficiency with tools like Terraform or Ansible.

- Monitoring and Logging: Experience with monitoring and logging tools such as Prometheus, Dynatrace, Grafana and ELK Stack. Knowledge of OMI and APM set of practices and tools. Knowledge of Monitoring as a Code (MAC) concept is a plus.

- Configuration Management: Experience with defining, storing, and versioning application/system configurations in Git, Consul or Spring Cloud Config, managing secrets and sensitive data using tools like HashiCorp Vault, implementing configuration management strategies across various environments from development to production.

More Info

Job Type:
Industry:
Function:
Employment Type:

About Company

Job ID: 145684879