Paul Whalen and his crew of engineers are on a mission to make the best possible financial information available to traders to improve their financial decision-making. Among other things, Paul’s role as staff software engineer and technology lead for the data team at PEAK6 Capital Management is to ensure the data team is making the right system architecture decisions for the short and long term; working toward a cohesive vision (not just one-off fixes); and helping decide what to build, not just how to build it.
I’ve been at PEAK6 since graduating college in 2014, mostly at Capital Management, and one year at Apex Clearing, another PEAK6 business. About three years ago, I really started to focus in the data space. My team’s mandate is to make financial data available to traders to make their decision-making better. We’re building on higher-level, derived data. The number of data points we’re creating to give insights into what’s happening in the market is increasing exponentially. Before it was 10 to 20 different kinds of data; now it’s 100. In a year, it could be 1,000.
I used to joke the reason I got into technology was because I liked the idea of math but I was bad at it. To be a programmer, you have to have a math mind and like building things, but you’re not actually building real things and you’re not actually doing real math. Programming is right in the middle. That sense of building things out of nothing is so satisfying that it’s hard to describe. At Indiana University, I started out studying jazz piano and ended up getting degrees in both music and computer science. I knew by my senior year that I wanted to pursue a career in computer science rather than music.
Probably my favorite accomplishment at Capital Management was when I built a component that we still use to this day. It was an internal exchange written using a programming language I didn’t know at the time, Go, which is a programming language Google created. It was so fun to learn a new language and work with David Budworth, who was leading the project. As an options trading firm, we need to trade stock to hedge options, but often our stock trades would be offset by different trading groups within Capital Management. We built an internal exchange to match all those stock orders without having to go out to the external market.
Over the past two years, PEAK6 has heavily invested in Apache Kafka, a streaming data platform. My team uses it a lot. I’ve grown familiar with it, and I’ve made some contributions back to the project itself, including KIP-401 slated to be released with Kafka 2.6. I’d only done small open source contributions before, and this was the first meaty thing. It was an enhancement to Kafka Streams that made it easier to utilize for our specific use case.
Best Part of My Job
My favorite moments at PEAK6 are when weeks, months, or even years of discussion about a trading problem or specific technology finally gel, and our team connects all the dots to produce an elegant solution with actual working code. While it’s impossible to produce a flawless design, it’s very satisfying to think about all of the things you learned in the journey toward that design, and all of the possible solutions you had to rule out before getting to the final one. Because Capital Management is a relatively small organization with a very collaborative culture, it’s possible to see these efforts up close and play a big part in shaping them.