The company is a global bank with about 200 million customer accounts and operations in more than 160 countries and jurisdictions. It offers consumer banking and credit, corporate and investment banking, securities brokerage, transaction services and wealth management to consumers, businesses, governments and institutions.
This senior role leads the Java engineering work on enterprise application systems that must be robust, highly available and scalable. You will set architecture, build, and keep modernising these systems. Hands-on coding in Java 17+, Spring Boot, Kafka and cloud-native tooling sits alongside leading a team and governing architecture, and you will use AI-assisted tools to lift team output.
Responsibilities
Act as technical lead and mentor for an agile pod: review code thoroughly, enforce engineering standards, and coach engineers on design patterns and clean code.
Plan sprints with Product Owners and Project Managers, covering technical planning, work allocation, backlog grooming and technical risk.
Drive improvement through modern engineering methods, test-driven development and GenAI tools such as GitHub Copilot to speed delivery and raise quality.
Lead the design and delivery of resilient, cloud-native microservices in Java 17+ and Spring Boot 3.x.
Design high-throughput, low-latency event-driven systems on Apache Kafka, covering topic partitioning, consumer groups, schema registries and idempotent processing.
Design and tune relational persistence on Oracle Database: data modelling, schema migrations with Flyway or Liquibase, query tuning, indexing and JPA/Hibernate transactions.
Build secure, robust REST APIs and asynchronous integration endpoints that meet enterprise security and API governance standards.
Lead containerisation and deployment with Docker, Kubernetes and Red Hat OpenShift across hybrid and enterprise cloud environments.
Define deployment manifests, Helm charts, health probes, horizontal pod autoscaling and zero-downtime blue-green or canary releases.
Work with DevOps to improve CI/CD pipelines (Git, Jenkins or Tekton, SonarQube, Artifactory, Snyk) with automated quality gates and security scans.
Push for thorough automated testing with high coverage using JUnit 5, Mockito, Testcontainers integration tests and contract tests.
Set up telemetry, central logging, distributed tracing and monitoring with Prometheus, Grafana, OpenTelemetry and Splunk or Loki.
Resolve complex production and performance problems through heap and thread dump analysis, JVM tuning and profiling.
Weigh risk carefully in business decisions, protecting the company's reputation, clients and assets.
Ensure strict compliance with secure SDLC practices, regulatory standards, vulnerability management and architecture governance policies.
Requirements
6+ years of professional experience in software engineering and enterprise application development.
Deep hands-on skill in modern Java (17 or 21), including records, sealed classes, pattern matching, concurrency, memory management and the G1 and ZGC garbage collectors.
Extensive experience building enterprise microservices with Spring Boot 4.x, Spring Cloud, Spring Data JPA, Spring Security and distributed caching.
Proven record building scalable streaming solutions on Apache Kafka, including producers and consumers, error handling, dead-letter queues and Avro or JSON schema registries.
Strong Oracle Database skills: SQL, PL/SQL, execution plan analysis, indexing, connection pooling and performance tuning.
In-depth knowledge of Docker, Kubernetes and Red Hat OpenShift, including deployments, services, configs and secrets, ingress, pod lifecycle and Helm.
Experience using AI developer tools such as GitHub Copilot for code generation, automated test scaffolding and refactoring.
Advanced use of JUnit 5, Mockito, Testcontainers, mutation testing and static analysis tools such as SonarQube and Checkmarx.
Working knowledge of Maven or Gradle, Git, Jenkins or Tekton pipelines and modern DevOps release management.
Track record leading engineers as a technical team lead, scrum tech lead or lead engineer.
Analytical and problem-solving skill to move ambiguous legacy systems toward modern target states.
Clear written and verbal communication for business stakeholders, architecture review boards and distributed engineering teams.
Bachelor's degree or university degree in Computer Science, Computer Engineering, Information Technology or equivalent practical experience.
Preferred: a master's degree.
Conditions
Full-time position with the company's Canadian business, with a salary range of $120,800.00 to $170,800.00.
Other job-related duties may be assigned as required.
The company is an equal opportunity employer that makes accommodations for people with disabilities during recruitment and encourages Aboriginal people, visible minorities, racialized communities and people with disabilities to apply.