Back
Life at Optiver  · 

Software Reliability at Optiver

Our next series of posts is drawn from a document written by our CTO, Pierre Salverda, three years ago: Software Reliability at Optiver: Guiding Principles. We introduce this series with an examination of the problem.

Errors are inherent in the building of software systems. Therefore, a strategy for mitigating the risk of error is paramount. As we mentioned in our first post, Optiver is a proprietary trading firm operating in a domain characterized by intense competition among technically sophisticated firms. In building and operating trading systems, we primarily encounter two broad classes of risk:

1. Automated Trading Risk (ATR): This is the risk that our Automated Trading Systems malfunction in a way which results in ongoing financial loss to Optiver or even market disruption more broadly. The former case is worrisome for obvious reasons. The latter exposes Optiver to reputational damage and possibly even regulatory sanctions, and it erodes public faith in the markets as a whole.

2. Erosion of Trust: Collaboration between Optiver’s trading and technology groups is key to our long-term success. We trade confidently when our traders trust the system to behave as they expect. Both groups are excited to tackle new problems and release modifications to our system given a track record of rapid, solid releases. System errors erode this foundation of trust, resulting in nervous trading and fractured collaboration.

It is overly simplistic, and counterproductive, to make a complete absence of errors the goal. Development productivity can grind to a halt in pursuit of perfection. An unproductive technology group can erode trust in similar ways to a sloppy one. Due to this, we must have a nuanced understanding of what is acceptable to Optiver, and what is not. Disrupting the market is completely unacceptable. We must guard against that as much as possible. Large financial loss is also unacceptable, as a catastrophic error could lead to the end of Optiver. Minor financial loss, on the other hand, is the beginning of a gray area. Minor financial loss may, while regrettable, be acceptable in pursuit of a corresponding longer-term or expected-value gain. Productivity loss, while also regrettable, is often preferable to the “analysis paralysis” which typically accompanies attempts at perfection.

In the coming weeks we will examine six principles which form the foundation of our approach to software reliability at Optiver: 

1. Not all errors are equal. The extent to which errors in different parts of the infrastructure can expose the firm to real risk is highly varied. 2. Software testing is just part of a reliability strategy. The correctness problem is best tackled on many fronts, the most important of which is system design. 3. Design correctness into software rather than test errors out. System design and correctness are inextricably linked – because design determines complexity, and complexity induces errors. 4. Architecture underpins correctness. It is often easier to contain the damage caused by errors than it is to avoid the errors outright. 5. The software development team is responsible for reliability. Reliability is best achieved by injecting these concerns directly into the software development process itself, not by establishing software verification as an isolated step at the end of the development cycle. 6. Culture matters. Everyone must understand and care about continuous improvement of software reliability.

Each week we will present a pair of these principles as excerpts from this document. Coupled with those principles is a discussion of how we have put them into practice. Finally, we will close this series with an examination of Test Driven Development by Joseph Fourness, the lead of our Architecture team here in Chicago.

David Kent, Chief of Staff – Technology David is a Stanford Computer Science alum and spent several years as a developer at Amazon.com. He joined Optiver as a Software Engineering Lead in 2009 and has led many of Optiver’s software development teams. He is presently Chief of Staff for the Optiver US Technology Group.

Life at OptiverMeet the team
Insights

Related Articles

  • Experienced, Life at Optiver

    Risk and reward within a dynamic trading firm: Insights from Optiver’s CRO Europe

    In business, risk management is often thought of as a of back-office support function—the department generally responsible for steering a company away from pitfalls and worse-case scenarios with cautionary, arms-length advice. Not at Optiver. In our high-stakes trading firm environment, it’s a core discipline that directly impacts the success of daily trading operations. As Optiver […]

    Learn more
    Global
  • Nicolas_Infrastructure_as_code
    Series
    Experienced, Life at Optiver

    Navigating Infrastructure as Code (IaC) in a non-cloud trading environment

    In the high-performance landscape of algorithmic trading, technological infrastructure isn't just important—it's critical. While Infrastructure as Code (IaC) is a well-established practice in cloud-based solutions, its application in non-cloud environments presents unique challenges, especially in latency-sensitive environments like ours at Optiver.

    Learn more
    Global
  • Series
    Life at Optiver

    From ideation to production: US tech intern summer projects

    Foreword by US CTO, Alex Itkin One of the most exciting parts of summer at Optiver is hosting the ever growing intern cohort. This summer in the US alone we had 35 interns working across our software, hardware and trading infrastructure teams. The goal of the internship is to give students an opportunity to spend […]

    Learn more
    Americas
  • Series
    Life at Optiver

    Tech intern projects at Optiver Amsterdam

    This summer, Optiver’s Amsterdam office hosted a group of tech interns eager to tackle the challenges of market making. Beyond just theory, they worked hands-on with our core trading technologies, directly engaging with some of the most interesting technical challenges in the financial industry.  In this blog post, four of our Software Engineering interns delve […]

    Learn more
    EMEA
  • Series
    Life at Optiver

    The Optiver summer: A transformative experience

    This summer, we proudly welcomed our largest intern season to date across our Amsterdam and US offices. They came from top schools and dove headfirst into the fast-paced world of market making, where they underwent comprehensive training, completed impactful projects, learned from industry mentors and formed lasting bonds with their peers. This wasn’t your average […]

    Learn more
    Global
  • Experienced, Life at Optiver

    Navigating performance challenges as a C# Software Engineer at Optiver

    When we think of market making, we often associate it with low-latency C++ applications. However, many other technologies and programming languages play a crucial role in establishing Optiver as a leading global trading firm, among them being C#. At Optiver, our success is largely attributed to our people. While trading is heavily automated, it is […]

    Learn more