Software Engineer

Responsibilities include:

  • Timely delivery of crucial components used to validate algorithmic trading strategies
  • Design and develop reusable software components capable of running in a high-throughput,  distributed cluster environment
  • Constantly learn and introduce new technologies to streamline data analysis performed by trading strategy, trading execution and data science teams by optimizing storage, retrieval and processing of large data sets

Requirements:

  • Best practices for writing maintainable, well-tested code
  • Understanding of various concepts of distributed software systems through course work or in a work environment
  • Knowledge and experience with a wide range of data storage systems including distributed key-value storage
  • Understanding of parallel algorithms (MapReduce, etc.) for processing large-scale data sets
  • Strong C/C++ programming skills
  • Fluency in scripting (bash, awk or python preferred)
  • Comfortable working in Linux environment