We are a leading international bank focused on helping people and companies prosper across Asia, Africa and the Middle East.
To us, good performance is about much more than turning a profit. It%27s about showing how you embody our valued behaviours – do the right thing, better together and never settle – as well as our brand promise, Here for good.
We%27re committed to promoting equality in the workplace and creating an inclusive and flexible culture – one where everyone can realise their full potential and make a positive contribution to our organisation. This in turn helps us to provide better support to our broad client base.
The Role Responsibilities
In terms of the day to day you will be responsible for:
- Design, develop, and maintain code that meets requirements, is high quality, efficient, reusable and performs efficiently and effectively to provide a great customer experience
- Incorporate standards and best practices, including performance, security, scalability, testability and maintainability
- Candidates will be responsible for automating parts of the development process in a way that tightens the development feedback loop. They should also be able to identify opportunities for automation during the development process.
- Participate in code reviews to spot issues around architecture, performance, security, and more
- Translate application storyboards and use cases into functional applications
- Help maintain code quality, organization, and automatization
- Contribute to design patterns and coding standards while being mentored
- Troubleshooting interface software and debugging application codes.
- Developing and implementing front-end architecture to support user interface concepts.
- Monitoring and improving front-end performance.
- Documenting application changes and developing updates.
- Use continuous delivery to ship incremental improvements many times per week
Our Ideal Candidate
To be successful in this role we believe the below requirements and experience will make it easier, but it is by no means mandatory:
- Bachelorâ€™s degree in Computer Science / Engineering or a related discipline, graduate degree preferred
- Proficient in Java 8+ (preferably 11+) with a good knowledge of its ecosystems
- Understanding of Object Orient Programming and Functional Programming paradigms.
- Good knowledge of ReactJS framework
- Good understanding on HTTP, RESTful APIs, HTML and CSS.
- Articulate on unit and integration tests and the significance of the test pyramid. They should be able to describe the costs of a lack of tests, or weak tests, or flaky tests. They should be confident and comfortable with JUnit4 and at least one assertion library.
- Demonstrated experience in delivering high quality software with various test strategies, test automation, source code management and continuous integration and delivery
- Proficient understanding of code versioning tools, such as Git
- Familiarity with build tools such as Maven, and Gradle
- Familiarity with continuous integration
- Solid understanding of object-oriented programming
- Familiar with various design and architectural patterns
- Skill for writing reusable Java libraries
- Knowledge of concurrency patterns in Java
- Sufficiently deep and broad knowledge of the underlying technical domain so that they can adapt to any tools and technologies that are required of them.
- Demonstrable ability for writing clean, readable code
- Experience with both SQL and NoSQL databases
- Understanding fundamental design principles behind a scalable application
- Basic understanding of the class loading mechanism in Java
- Creating database schemas that represent and support business processes
- Basic understanding of JVM, its limitations, weaknesses, and workarounds
- Evidence of continual improvement and investment into you (i.e. training, education, secondments into new areas)
- Good understanding of digital banking products, processes and retail banking systems will be a plus
- Thrives in an energetic and dynamic environment and can successfully work well under pressure while handling multiple tasks with tight timelines.
- Team player who is independent, motivated, proactive, good problem solver, energetic and possess good analytical skills
- Demonstrated competency in a variety of software development tools and approaches
Apply now to join the Bank for those with big career ambitions.
To view information on our benefits including our flexible working please visit our . We welcome conversations on flexible working.