Research Driven Recruitment

Discover the best vacancies in tech and finance, filter results or use our search tool to find your perfect match. If you would prefer to talk to us, please get in touch.

Latest Job Listings

Software Developer (C++/Java/Python)

World-Leading Prop Trading Fund

Amsterdam

Posted 2 Mths Ago

As a software developer at this leading prop fund you will design, engineer and implement the firm’s trading software in the C++, Java and Python programming languages. You will work in close collaboration with the research, systems and operations teams to architect, implement and analyze new automated electronic trading algorithms. You will play a key role in designing and constructing their software infrastructure to support new and existing lines of business. In addition, you will expand the proprietary research platform to improve performance and support new exchanges, products and functionality.

Qualifications:

  • Preferred degree in any computing related area (e.g., computer science, computer engineering, etc.)
  • In lieu of this, extensive professional software development experience
  • Well-versed in the fundamentals of software engineering
  • Genuine interest in solving technical problems, along with a strong ability to implement solutions
  • Low ego, able to work both in a collaborative team setting and autonomously
  • Committed to designing and implementing fully automated, scalable, and maintainable solutions with extensive testing
  • Superior ability to write in C++, or experience with other statically-typed imperative programming language
  • Comfortable operating at various different levels of abstraction, from individual machines to large-scale distributed systems
  • Strong knowledge of the details of computing all throughout the technical stack
  • Knowledge of Linux a plus
  • Experience in the trading industry useful but not mandatory

Day to Day:

This isn’t an exhaustive list, but represents a selection of the types of tasks that software developers take on while developing and maintaining a large scale 24 hour automated trading system.

  • Implement new exchange connectivity
  • Leverage existing infrastructure, extending functionality where necessary
  • Communicate with exchange personnel as required to conform to their specifications
  • Build a deep understanding of exchange behavior to integrate into our existing trading system
  • Maintain and extend core research infrastructure
  • Design, implement, and maintain distributed storage systems with various different performance and reliability requirements
  • Address performance limitations within our own software, open source libraries and applications, Linux, etc.
  • Investigate new technologies to improve stability, scalability, and performance
  • Implement new trading strategies in collaboration with research and operations teams
  • Extend strategy framework to enable new behaviors and improve existing ones
  • Investigate signal issues for trading system
  • Reconcile differences between trading strategies performance in simulation versus production
  • Investigate production trading issues in collaboration with operations, systems, and research teams
  • Optimize the performance of the live trading system
  • Measure latency and throughput through microbenchmarks, profiling, tracing, etc.
  • Optimize existing code using lock free data structures, compiler intrinsics, etc.
  • Develop new algorithms to address performance limitations at a higher abstraction layer
  • Rearchitect components of the trading system to eliminate bottlenecks
  • Fundamental network programming
  • Implement low level networking protocols
  • Investigate network captures to understand latency and behavior of both exchange and internal communication
  • Ensure the continued stability and reliability of the trading system
  • Build monitoring systems for trading strategies and all other pieces of the infrastructure
  • Conduct code reviews of other developers, researchers and operations team members