Algo Java Developer - Leading Investment Bank
Summary
Develops and maintains Java backend applications for equities trading at a leading investment bank, taking part in the full software lifecycle. The focus is ultra-low-latency, event-driven trading systems using Java (and some C++), concurrency, networking protocols, and Linux internals; knowledge of Aeron is preferred.
Development:
- Design, develop, and maintain Java-based applications for equities trading, focusing on backend systems.
- Participate in the full software development lifecycle, from requirements analysis to deployment.
Requirements:
- Experience in developing large scale complex event-driven / reactive systems involving fault-tolerant, globally distributed processes with high frequency message /event workflows.
- Experience in Java / C++ building high performance systems involving concurrency and networking protocols with strong knowledge of Data Structures and Algorithms.
- Experience in building ultra-low latency and / or high throughput systems in Financial Markets or Big Data Analytics.
- Focused on ensuring to deliver quality solutions following Agile methodologies and Test-driven development.
- Knowledge of CPU / GPU Architecture, Memory management Shared Memory / Memory Mapped files, Networking Protocols TCP / UDP etc with understanding of Linux internals.
- Candidates with Java experience should have knowledge of GC, JNI, Java Unsafe, JNRFFI etc.
- Knowledge of Aeron (preferred).
- At least one degree in Computer Science, Engineering, Physics, or Mathematics.