|Job Type:||Full Time|
The CIB Digital Platform supports the business goals of all businesses across the investment bank. Our teams are responsible for technology delivery, having development responsibility for key business systems and overall responsibility for all client facing user experiences within the investment bank. The broader team consists of people based in Glasgow, London, Mumbai and New York.
The group is divided into small, highly motivated, agile teams. Software deliveries are frequent and the team members are expected to be multi-disciplined and flexible in their approach, working in all areas of the solution space. Each team is responsible for the design, build and maintenance of highly available and scalable systems with focus on making lives of other engineers in CIB easier and their products reliable and more performant, supporting hundreds of applications and thousands of developers.
Candidates do not necessarily need banking experience but must be highly motivated with a track record of success. The ideal candidate will have strong knowledge of Java or Go and first-hand experience designing scalable, cloud-native solutions.
In this role, the candidate will be working as an experienced developer in a small agile team to both build new features and support existing functionality in the Bank’s strategic application telemetry. Exciting new features you will work on include implementing Distributed Tracing using leading edge technologies such as Jaeger.
This is a highly technical role, and the developer would also be driving the design of our solutions, mentoring junior members and contributing to the development of features. Experience is expected in analysis/design, agile methodologies, application and SDK development, optimization and performance tuning – plus working with business analysts, user experience, testers and technology stakeholders. The working environment is competitive and demanding but one where creativity and problem solving skills are rewarded.
Bachelor's Degree or equivalent in a mathematics or science-based subject; or equivalent working experience.
Skills & Experience
The successful candidate is an experienced developer who possesses expert technical skills in the following:
- At least one of Java or Go
- Design and implementation of distributed, highly available, cloud-native systems
It is highly beneficial to have good working experience with the following:
- Stream processing technologies such as Kafka, Spark, Flink etc.
- Public and private cloud development using platforms such as Kubernetes, Cloud Foundry and AWS
- Relational and NoSQL database design
- Spring Boot 1.x and 2.x
- Scripting languages such as Groovy, Python, etc.
- Metrics / Logging Tools (Grafana, Splunk, Prometheus, Micrometer, etc.)
- Modern development practices such as Agile / Scrum, Git, CI / CD
- Management and/or any other Leadership including mentoring
The ideal candidate will:
- Be pro-active, pragmatic, independent and resourceful in nature, able to identify and own issues and seek their resolution. Able to understand existing source code and identify how to make it better.
- Present evidence of self-motivation and a passion for technology with a keen interest in working on latest open source offerings.
- Be familiar (or have developed opinions) on how to structure large scale applications/projects and the necessary processes, team structures and technical approaches
- Be community minded in their approach to work - and be active in consuming and providing information, teaching and help across all team units
- Be a practitioner of Clean Code