Why Citadel Securities Engineers Are Adopting C++26 Before Its Release
Since its inception in 1979, C++ has been one of the tech industry’s most widely used programming languages, offering programmers greater control over memory and system resources. And now, the language is about to undergo its most transformative iteration yet — and Citadel Securities is all in.
The newest version of the language, C++26, is slated for release next year, but the trading firm’s engineers have been using C++26 standard features for months. Technical Fellow Herb Sutter has been at the helm of the firm’s efforts to actively adopt C++26 ahead of its official release, guiding engineers as they influence the overall direction of the language.
“All the major languages that are in heavy use are living languages,” Sutter said in an interview with Business Insider. “That’s why we see C++, Rust, C and Python continuing to evolve. Our landscape is always changing, and it’s important to stay abreast of those developments.”
Sutter believes C++ will meaningfully modernize the language and expand what’s possible in performance-critical systems, and he’s been sharing his insight with others across the industry. Earlier this year, he hosted the annual NYC++ Meetup, where he spoke about the progress being made toward memory/functional safeties and compile-time reflection, the impact of this transformation and how Citadel Securities’ engineers are unlocking the potential of C++.
“All these things in draft C++26 matter because they help us make our code better — more efficient, reliable and resilient,” Sutter said in a blog post about the event. “The improvements coming in C++ are directly applicable to our business at Citadel Securities, which is why we aren’t waiting for the ink to dry on the standard to adopt them and deploy them live.”
For Citadel Securities’ engineers, the evolution of C++ points toward a more innovative future for global trading, offering tech talent the opportunity to help shape the next generation of performance-critical systems.
Below, Sutter shares more insight into the impact of C++26, how Citadel Securities is harnessing its power and what job seekers should do if they’re eager to join the firm on its C++ journey.
How C++26 Is Reshaping Modern Software Engineering at Citadel Securities
“In C++’s history so far, we’ve had only one major milestone that changed the way we write C++ code to the point that Bjarne Stroustrup said it ‘feels like a new language:’ C++11, followed up by C++14/17/20/23.
“C++11 changed how we write code to the extent that to this day, you can look at 10 to 20 lines of code and immediately see whether it’s ‘C++11 era’ or not. That’s because C++11 included many features we just use all the time: range-based for-each loops, lambda functions, standard smart pointers, { } initializer lists and more. If you see any of those, you know the code is ‘modern C++.’ We’ve built more great things on top of C++11 since then, including ‘big’ features like concepts and coroutines and modules, but none of those have been as ‘major’ in terms of affecting any random 10-20 lines of code so that they define a new style era; so far we’ve stayed in the era where ‘modern C++’ still means ‘C++11 onward.’
“That is going to start changing with C++26: In this era, having increasing memory/functional safety support and reflection support will change how we write code in a way we’ll start to notice in typical 10-20 LOC samples. So in the coming years, I think we’re going to start calling code ‘modern C++’ when it assumes more memory safety by default, such as the hardened standard library that was just adopted for C++26, uses more functional safety features like contract_assert and pre- and post-conditions that were also just adopted for C++26, and uses reflection-based techniques — all of those will frequently change how we write code, for the better.
“One of the things I’m especially excited about is C++’s async framework that’s coming in the next standard that will ship about a year from now. Async use of C++ is a big deal because we are all increasingly needing to do things concurrently and in parallel. I didn’t realize until I joined Citadel Securities just how much that framework is already used at the firm, including for our U.S. equities trading. Working at Citadel Securities is almost like living in the future in that we’re already diving deep into technologies that will eventually be widely used. That’s been a lot of fun.”
Inside Citadel Securities’ Use of C++26 to Power Global Trading Systems
“All these things in draft C++26 matter because they help us make our code better — more efficient, reliable and resilient. The improvements coming in C++ are directly applicable to our business at Citadel Securities, which is why we aren’t waiting for the ink to dry on the standard to adopt them and deploy them live.
How Citadel Securities Engineers Are Deploying C++26
- “std::execution: We’ve been using our own implementation of draft-C++26 std::execution for a while now in production to run all trading for an entire asset class and as the basis for our new underlying messaging infrastructure, written in-house by our experts. We’re continuing to actively push it further throughout our systems to be a unifying framework for all the heavily asynchronous work we do. Using std::execution does require a shift in perspective, but a positive one because it simplifies and unifies different asynchronous frameworks that we’ve built or acquired over the years.”
- “Memory safety and functional safety: We’re pushing fast, early adoption of the C++26 hardened standard library and contracts in our systems. Why? The work that we do as engineers at Citadel Securities powers critical systems that power trading globally, ensuring that we’re always active in the market. Reliable and resilient systems aren’t just important; they are essential to our business. If we cannot reliably take the other side of a trade, we can’t operate our business. And system reliability doesn’t just matter to our business — it’s essential to keep markets working for everyone. For example, our automated equities platform trades over 23 percent of U.S. equities volume.”
“By adopting a few well-chosen cutting-edge standard features early internally, we get to ‘live in the future’ by using them right away even before they ship in the standard itself. That not only lets us get the technical benefits sooner, but it lets us build our individual expertise and experience with features that everyone will be using everywhere in the coming years.”
“By adopting a few well-chosen cutting-edge standard features early internally, we get to ‘live in the future’ by using them right away even before they ship in the standard itself.”
How to Stand Out to Citadel Securities as a C++ Engineer
“One way you can show off your C++ skills is simply by talking about what you’re looking forward to most in C++26, describing the features that have helped you, or sharing something you’ve learned recently. I want to know that you’re that curious and that you’re focused on continuous learning, and that’s true more generally, regardless of language. It’s important to be able to demonstrate curiosity and knowledge about software advancements — and to show that you understand that there’s more than one tool out there and that you know how to use them together.”
Frequently Asked Questions
Why is Citadel Securities adopting C++26 before it’s officially released?
Citadel Securities is adopting draft C++26 features early because they directly improve the firm’s ability to write code that is more efficient, reliable and resilient — qualities that are essential for systems that keep global trading active.
What C++26 features are most important to Citadel Securities engineers?
Key early-adopted features include the hardened standard library, contracts, reflection support, and the upcoming async framework that enables more concurrent and parallel work.
Why do memory safety and functional safety matter so much in this work?
Citadel Securities’ engineers prioritize early adoption of memory and functional safety features because their systems must stay reliable and resilient to operate continuously in global markets — and the firm notes that reliability helps keep markets working for everyone.
How can C++ engineers stand out when applying to Citadel Securities?
Herb Sutter says candidates can stand out by sharing what they’re most excited about in C++26, describing features they’ve used or learned recently, and demonstrating curiosity, continuous learning and an understanding of how to use multiple tools together.
