Discover your dream Career
For Recruiters

Ex-High Frequency Trading engineer 'baffled' by C++ praise

If you're looking for elite low-latency code, chances are it's written in C++. The programming language is the industry standard-bearer and thought of by many as an unbeatable monolith, but is that really the case? One who disagrees is Jimmy Hartzell, who comes from perhaps the most elite of low-latency intrinsic industries, high frequency trading (HFT).

Hartzell, currently a senior principal engineer at rail transportation company Amtrak, spent almost five years at New York based HFT firm Tower Research Capital as a software engineer. Not only did he work on the C++ code for the firm's FX trading desk, he also developed a C++ curriculum used to educate the firm's employees. 

When looking at defenses of the language in a recent blog post, he found their reasoning 'baffling.' His hyperbolic example says, "the complaints are just from people who aren’t up to it," and that they lack the ability to appreciate what C++ is doing. Hartzell calls the notion "nonsense."

Hartzell spent two years working in Rust for solar energy automation firm Racepoint, and says "there are so many features" that he misses. Despite Rust being far less prevalent in buy-side firms, he believes there is "very little - any way in which C++ is more performant or more appropriate than Rust."

The difficulty of C++ is often regarded as a good thing, and while Hartzell concedes that "C++’s difficulty is a sign of its power," he lambastes many of its idiosyncrasies as "papercuts," minor annoyances serving no tangible benefit.  Examples of this include returning multiple values by tuple being "unergonomic", which is frustrating to debug, and values being mutable by default rather than constant, which can lead to easy mistakes being made.

Click here to create a profile on eFinancialCareers. Make yourself visible to recruiters hiring for top jobs in technology and finance.

Have a confidential story, tip, or comment you’d like to share? Contact: +44 7537 182250 (SMS, Whatsapp or voicemail). Telegram: @SarahButcher. Click here to fill in our anonymous form, or email editortips@efinancialcareers.com. Signal also available.

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

author-card-avatar
AUTHORAlex McMurray Reporter
  • Ja
    James of Tucson
    30 August 2023

    I mean, if you aren't optimizing down to the machine instruction regardless of the programming language that got you close, are you really competitive in the HFT space?

  • Be
    BenR
    29 August 2023

    Mission critical? Maybe you should use Ada. High performance computing? Maybe you should use Modern Fortran, Julia, or Chapel. Systems programming? Maybe choose Rust. I feel like C++ can dable in many areas, but that it's actually not the most well suited for anything. But, I guess it was good enough for long enough that we now have momentum and libraries that can't be ignored.

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.

Boost your career

Find thousands of job opportunities by signing up to eFinancialCareers today.
Recommended Articles
Recommended Jobs
Oxford Knight
Quant Researcher - C++ / Python- Global Hedge Fund
Oxford Knight
London, United Kingdom
Treliant
Project Manager - Regulatory Change
Treliant
London, United Kingdom
China Life Franklin Asset Management Co., Ltd
Analyst – Fixed Income & Derivative
China Life Franklin Asset Management Co., Ltd
Hong Kong

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.