8+ years programming experience writing high-performance Java applications Bachelor's degree in a Computer Science or similar STEM discipline Experience in a related industry, such within a Hedge Fund, Investment Bank, or an Exchange developing financial trading applications Understanding of the modern software development fundamentals and testing practises inclusive of TDD and BDD Understanding of design patterns and object-oriented programming such as SOLID, with in-depth understanding of algorithms and their complexities Understanding of the Java Memory Model and concurrency in practise Demonstrable analytical and problem solving skills Genuine passion for software development and quality