The GWM (Global Wealth Management) Trading Middleware team is currently seeking a developer to join and drive a team responsible for the design and delivery of a strategic middleware architecture.
The project focuses on design / build of Synapse, a core middleware framework with a central metadata engine, event based processing, control monitoring and distributed functional modules deployed on
the private and / or public cloud. Synapse is also being developed for adapting to non-trading workflows used in GWM.
This role requires a wide variety of strengths, capabilities and responsibilites;
Participate in the design and delivery of strategic middleware application
Design and build key software components of Synapse, a core middleware framework with a central orchestration engine; event based processing and distributed functional modules.
Implement and test code for distributed event driven services which requires knowledge software development best practices.
Work in close partnership with a group of developers across geographical locations. This includes meetings, emails and other interaction with the software development team.
Work on an agile project environment, with the ability to work with the Product Owner and SCRUM Team from development through to testing and delivery of product increments.
Understand the code quality, code security and application quality metrics in order to make intelligent decisions throughout the delivery lifecycle.
Participate actively in the software development and architecture discussion, through a detailed understanding of current application development tools and techniques.
Focus on engineering excellence and compliance with all corporate, regulatory, IT risk and architecture policies.
Knowledge of industry-wide technology trends and best practices
Passionate about building an innovative culture
Required Qualifications :
Strong server side development background with proven track record in designing and delivering distributed, event driven services and be able to demonstrate a detailed knowledge of architecture principles and software development best practices.
Extensive knowledge of Java (8 or above) development including areas such as Spring, and Spring Boot.
Experience of building a new system or module from scratch.
Knowledge of web service technologies such as REST and JSON.
Knowledge of application security areas : authorization, authentication, encryption
Multi-threaded application development experience.
Relational database and SQL proficiency
Automated testing techniques especially BDD.
Experience working with Sonar, SSAP, JIRA, Greenhopper, GIT
Strong written and oral communication skills.
Strong team working skills and the ability to work on multiple parallel work items with other developers, analysts etc.
Knowledge of Project & Program Reporting principles.
BS / BA degree or equivalent experience
Results oriented : Drives results through people, communication, influence and interaction.
Experience in development of High Availability system architectures
Cloud and / or similar distributed processing
Ability to implement change and development process improvements, including required culture changes