
C++ Software Developer
Software Developer (C++) Job Description for Headlands Tech
Locations: Amsterdam; Chicago; London; New York
Scope:
As a software developer at Headlands Tech you will design, engineer and implement the Firm’s trading software in the C++ programming language. 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 the Firm’s software infrastructure to support new and existing lines of business. In addition, you will expand the Firm’s 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 preferred but not mandatory
Day to Day:
This isn't an exhaustive list, but represents a selection of the types of tasks that software developers at Headlands Tech take on while developing and maintaining a large scale 24 hour automated trading system.
- Build, maintain, and improve exchange connectivity
- Leverage existing infrastructure, extending functionality where necessary
- 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 our infrastructure
- Conduct code reviews of other developers, researchers and operations team members
We are proud to be an equal opportunity workplace and to provide employees with a work environment free of discrimination and harassment. All employment decisions at Headlands Tech are based on business needs, job requirements and individual qualifications, without regard to race, color, religion or belief, national origin, sex, sexual orientation, gender identity/expression, age, status as a protected veteran, status as an individual with a disability, or any other applicable legally protected characteristics. Headlands Tech will not tolerate discrimination or harassment based on any of these characteristics.
By completing this application you agree to our GDPR and Privacy Policies.
Apply for this job
*
indicates a required field