Job description
C++ Software Developer - New Grad Job Description for Headlands Tech
Locations: Amsterdam; Chicago
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 experienceWell-versed in the fundamentals of software engineeringGenuine interest in solving technical problems, along with a strong ability to implement solutionsLow ego, able to work both in a collaborative team setting and autonomouslyCommitted to designing and implementing fully automated, scalable, and maintainable solutions with extensive testingSuperior ability to write in C++, or experience with other statically-typed imperative programming languageComfortable operating at various different levels of abstraction, from individual machines to large scale distributed systemsStrong knowledge of the details of computing all throughout the technical stackKnowledge of Linux a plusExperience 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 connectivityLeverage existing infrastructure, extending functionality where necessaryBuild a deep understanding of exchange behavior to integrate into our existing trading systemMaintain and extend core research infrastructureDesign, implement, and maintain distributed storage systems with various different performance and reliability requirementsAddress performance limitations within our own software, open source libraries and applications, Linux, etc.Investigate new technologies to improve stability, scalability, and performanceImplement new trading strategies in collaboration with research and operations teamsExtend strategy framework to enable new behaviors and improve existing onesInvestigate signal issues for trading systemReconcile differences between trading strategies performance in simulation versus productionInvestigate production trading issues in collaboration with operations, systems, and research teamsOptimize the performance of the live trading systemMeasure 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 layerRearchitect components of the trading system to eliminate bottlenecksFundamental network programmingImplement low level networking protocolsInvestigate network captures to understand latency and behavior of both exchange and internal communicationEnsure the continued stability and reliability of the trading systemBuild monitoring systems for trading strategies and all other pieces of our infrastructureConduct 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.
Prepare your application
Use the description above to assess your fit for Headlands Technologies LLC. This checklist is guidance from Resumize, rather than additional requirements from the employer. Imported listings can be shortened or change after collection, so confirm the complete description and current availability before sending an application.
Match requirements to evidence
Identify the responsibilities and skills the employer explicitly names. For each important requirement, choose one example from your work, education, training, or projects. Explain what you did, how you did it, and what changed as a result. Include a measurable outcome when you can support it. If you lack a requirement, describe related experience accurately instead of adding an unfamiliar skill to your resume.
Put the most relevant examples near the top of your resume. Keep job titles, dates, qualifications, and contact details consistent across your application materials. Use the employer’s terminology when it describes your experience accurately; a copied list of keywords does not explain your contribution. A short, specific bullet is easier to review than a paragraph that mixes several unrelated duties.
Check the working arrangement
Confirm the location, schedule, employment type, and any eligibility requirements on the employer’s site. A remote label does not establish worldwide eligibility or flexible hours. If compensation, benefits, equipment, travel, or contract duration are missing from this listing, write down your questions for the recruiter. Do not assume details from another opening at the same company apply to this role.
Review before submitting
Follow the employer’s requested file format and application instructions. Open your exported resume and check that its text is selectable, its sections read in order, and its links work. Proofread names, dates, and contact information. Share confidential work samples only when you have permission, and use an anonymized example when necessary.
Submit through a trusted employer or recruiting destination. If the original listing has disappeared, search the employer’s careers page for the title rather than assuming the vacancy remains open. Save the application date, job reference, and the version of your resume you sent. Those details help you prepare for a later conversation and avoid submitting conflicting information through several job boards.
Review your resume for writing and readability feedback, or browse other openings if this opportunity is unavailable.