Java Systems Developer - Equities Electronic TradingAbout the team
Our engineering teams builds massively scalable software and systems, architects low latency infrastructure solutions, proactively guard against cyber threats, and leverage machine learning alongside financial engineering to continuously turn data into action. Create new businesses, transform finance, and explore a world of opportunity at the speed of markets.
Engineering, which is comprised of our Technology Division and global strategist's groups, is at the critical centre of our business, and our dynamic environment requires innovative strategic thinking and immediate, real solutions. Why join the Equities Electronic Trading team?
In our team you will have opportunity to:
WHO ARE WE LOOKING FOR
- Design, build and maintain a high-performance, high-availability, high-capacity, yet nimble and adaptive platform for order management, exchange connectivity, processing high volumes of ticking data and post-trade processing.
- Develop highly reliable data ingestion processes to consume large volumes of data emitted by trading and market data systems.
- Design distributed computation infrastructure to run parallelized queries over large volumes of data.
- Use data to guide decision-making, developing or enhancing tools as necessary to collect it.
- Communication with traders, sales, operations, regulatory and compliance officers about new feature requests, explanation of existing features etc.
- Learn technology stack and paradigms such as: Core Java, Kafka, Spring, Apache Flink, Hadoop event-driven architecture, event sourcing, distributed database (MemSQL)
NICE TO HAVE
- Experienced Core Java Developer with Bachelors or Master's degree in computer science or engineering or equivalent experience
- Thorough knowledge of Java programming concepts
- Strong knowledge of object oriented programming, data structures, algorithms and design patterns
- Strong communication skills and the ability to work in a team
- Strong analytical and problem solving skills
- Experience in data driven performance analysis and optimizations.
- Experience in building state management systems, complex event processing and transaction sequencing architectures
- JVM internals, tuning for low-latency, GC-free real-time operation
- Prior experience with event sourcing (sequenced core stream) based architecture
- Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack