Job Description:
As a Senior Java developer, the successful candidate will be expected to perform the following duties with a high level of competence:
- Liaise with nominated business stakeholders when required to ensure that business requirements are fully understood before commencing design and development.
- Draw-up detailed technical designs for components in response to business requirements and high-level technical architecture
- Work effectively with any external consultancies engaged during the project to provide technical and graphical design expertise.
- Implement best-of-breed technical solutions based on agreed technical design, adopting industry standard development patterns and methodologies (including continuous integration and automated unit and integration testing)
- Fully test implemented solutions in advance of User Acceptance Testing
- Assist (when required) with the deployment of components to development and test environments
- Participate in intra-day and overnight Support rotas (when required).
Technical Knowledge:
- Solid Java server side development experience isessential. The candidate must be able to demonstrate knowledge of multi-threaded development.
- Demonstrable experience with highly available, multithreaded, distributed systems isessential.
- Demonstrable experience with developing and tuning low latency systems.
- Demonstrable experience of FX spot or Equities algo execution and pricing
IDEAL EXPERIENCE (Please list any experience/skills that would be considered desirable although not essential for this role)
- Front Office development team in Large Investment Bank, supporting global trading desk
- A background of solid architectural work
- Knowledge of Enterprise Integration and messaging technologies (29 West, Multicast)
- Knowledge of the FIX protocol.
- Familiarity with time series databases (KDB)
- Knowledge of lock free algorithms, low latency tuning and threading.