Job Seekers

Low Latency Sr Software Engineer

Twitter Facebook
Location
Chicago, IL
Job Type
Direct Hire
Date
Jun 19, 2017
Job ID
2447138
We are looking for strong C++ programmers who enjoy working with a cross-discipline team to develop and improve world-class trading systems . The candidate will excel at working with technical and business experts to identify and implement new trading strategies, while also being able to investigate, debug and fix mission critical problems as they occur. This is a hands-on position which will involve full development cycles, from requirements collection to final deployment, and includes ongoing support for internal users. Our team creates industry-leading systems to implement innovative trading strategies, with equal emphasis on performance, risk-management, and stability.
Experience with Linux kernel programming and embedded systems is a must.
In addition to experience and expertise in the field, we are also looking for maturity, initiative, enthusiasm, versatility, and most importantly,  passion for technology.

Responsibilities
  • Develop Linux device drivers, interfacing with custom hardware to execute proprietary, low-latency trading strategies
  • Squeeze performance out of the Linux kernel to achieve industry-leading performance
  • Interface with system DMA, interrupts, and low level kernel programming
  • Perform full life cycle development and deployment of C++ applications and libraries for exchange gateways, trading strategy execution, risk management, trade reporting and market data feed processing
  • Develop systems to maintain, analyze and improve performance, integrity and reliability of existing applications
  • Investigate and fix problems with production systems in real-time
  • Construct experiments and analyze data to identify ways to improve technical performance and new trading opportunities, ensuring that results are valid and reproducible
  • Collaborate with technical and business peers to develop new trading strategies and systems
  • Communicate technical knowledge to both technical and non-technical audiences
Qualifications
  • Bachelor's degree in Computer Science or related fields or similar professional experience
  • 3+ years relevant work experience, ideally within a similar field
  • Linux device driver development and kernel support
  • Embedded system development, Assembly language is a plus
  • Excellent analytical and problem solving skills with a solid foundation in data structures
  • Strong C/C++ coding skills on Linux/UNIX and experience in scripting and database systems (SQL), including multi-threaded programming, STL, and Boost
  • Experience with developing systems to be testable at the unit level and the system level
  • Interest and ability to learn other coding languages as needed
  • Familiarity and interest with networking programming (TCP/UDP, unicast and multicast)
  • Familiarity with software development tools such as version control (Git) and project management (JIRA)
  • An interest in developing new trading strategies and systems
  • Experience with financial exchange data feed and order entry protocols is a plus