As a Senior Software Engineer, the candidate will join a trading team in Chicago that is focused on creating cutting-edge trading applications and tools In this dynamic environment, you'll collaborate closely with a team of experienced technologists, quantitative researchers, and traders to address technological challenges and contribute to our tech stack in a meaningful way. This role is an excellent opportunity for skilled programmers eager to develop new technologies that directly impact the business.
Responsibilities:
Executing full life cycle development of applications and libraries related to exchange gateways, trading strategy execution, risk management, trade reporting, and market data feed processing using C++
Ensuring performance, integrity, and reliability of systems for maintaining maximal uptime, including comprehensive logging and traceability to support mission-critical production systems
Collaborating with quantitative researchers and traders on strategy development
Applying agile methodologies in the design, development, and deployment of software
Guiding less experienced engineers on best practices through mentorship, pair programming, and code reviews
Delivering production support, maintenance, and performance enhancements of existing systems
Evaluating new technology and refining our technology stack Requirements:
A decade or more of experience developing high-availability server-side systems, preferably in C++
At least 3 years of experience with modern C++ (14/17/20) standards
Proficiency in multi-threaded programming and a robust understanding of hardware/software interaction
A Bachelor's degree in Computer Science, Engineering or related field, paired with practical knowledge of computer science, including algorithms, data structures, distributed systems, and concurrency
Exceptional verbal and written communication skills Bonus Skills:
Prior experience in the trading industry or another latency-sensitive sector involving the resolution of complex and unique problems
Background in numerical computing and/or working with Quantitative Researchers
Experience with full life-cycle software development using exotic hardware/software architectures
Detailed understanding of TCP, UDP, IPV4, and related hardware/software
Familiarity with multiple programming languages, particularly Java, Python, JavaScript, Ruby
An excellent compensation package is available for the suitable candidate.