Interning on Optiver’s Austin HFT Team
Meet Ethan, a former software engineer intern on our Austin high-frequency trading (HFT) team.
In this post, he reflects on the work, the team, and why the experience stood out.
Before interning at Optiver, I didn’t know much about high-frequency trading. I liked building systems, especially in C++, and I was curious about low-latency problems. The Austin office brings together hardware engineers, software developers, and researchers to build the most sophisticated trading system at Optiver, and gave me the opportunity to experience HFT firsthand. I got to work on real problems the team needed to be solved, supporting my designs and decisions with rigorous backtests and experimentation. Along the way, I got to learn about all parts of the system, from the hardware our auto traders run on to the strategies our researchers were testing.
Real Impact
As an intern, I knew my project would have impact. I got to experience every part of the development process, from design decisions to backtesting to release and prod validation, verifying my changes held up in our production environment.
As soon as I started releasing code, other members of the team immediately put it to use, extending my impact beyond just my project.
One of the principles of Optiver’s Austin team is a heavy requirement for research-backed work. It wasn’t enough for me to just propose ideas. I needed to collect data and present proof that my designs were optimal. The beginning of my internship was spent in Jupyter notebooks and backtests, verifying changes I wanted to make and collecting results on wiki pages I could easily share with my mentor and the rest of the team.
Open Information
Something that helped me grow as an engineer while I was at Optiver was the firm’s aversion to silos. Every project the team worked on, including intern work, was published to the same shared wiki. This made it easy for me to find past pages documenting how the system was designed. Reading wiki pages gave me the baseline knowledge I needed to understand the team’s work at the beginning of my internship. Additionally, there were no restrictions on what I could and couldn’t learn. If I was confused about something or just curious, I could easily message the person who wrote the code, or read the wiki associated with the change.
Vertical Integration
As a team, the Austin office owns its entire trading system, from the code in the auto traders to the hardware it executes on. This adds an aspect of vertical integration and ownership that streamlines the team’s work. There were no issues waiting for other teams to deploy dependencies, and if I ever had any questions, the person who knew the answer sat only a few desks away. I could dig deep into one part of the system, but at the same time it was easy for me to branch out and learn other aspects. Whenever something broke, I could trace the entire code path end to end. Nothing was hidden from me, and I was never sandboxed or restricted to certain parts of the system.
The team gave me the opportunity to take ownership of a challenging project and the resources I needed to solve it. I was able to learn more than I expected because of the open nature of the team. It was the kind of environment where curiosity actually led somewhere and the people motivated each other to be better.
If I had to do it all over again, I wouldn’t change much. The team gave me real ownership, the work was challenging in a good way, and I learned more than I expected just by being in the room. It was the kind of environment where curiosity actually led somewhere.
