Though I was originally hired as a Game Designer, it became quite clear early on that my most meaningful contributions to Zwift were going to be technical ones. Some of this was just a manpower issue. In late 2017, Zwift still had a very small engineering team, and I could design all day long but without someone to actually implement those ideas, they weren’t worth very much. Software also seemed so much more “accessible” than a lot of the work I’d done with engineering teams as a triathlete. I couldn’t build my own wheels or make my own running shoes, but I could write code. While I had no background in game development, I had plenty of experience in web development as both a freelancer and on Slowtwitch.com, and so that’s where I started.
Recognizing the limits of what the web portion of Zwift’s tech stack could achieve, I completed the Codecademy course in C++ and, thanks to a lot of support from my colleagues – especially Lead Engineer Luke Yen, I started working on enhancing and expanding an internal tool to measure and validate Zwift’s in-game routes. Over time, I earned enough trust to start working on actual shipping features, and my focus shifted more and more to implementation rather than design.
With a long commute and a thankfully flexible working schedule, I was already used to working remotely in March of 2020. At first, it seemed like it might just be a matter of days where I had the luxury of more time at home with my wife and kids and a few less very early mornings and late nights. Then, when it was clear this was going to be a matter of weeks and not days, it seemed like a great chance to get on my bike more often and to enjoy just being outside. But then when weeks turned into months, it was clear that this whole situation represented a fairly seismic shift without a clear end date. And I thought I ought to take advantage of the opportunity it presented.
Around this time, I also made an “official” switch in roles from Game Designer to Software Engineer – something I’d end up repeating about three years later at Respawn. But even knowing the quality and amount of work I’d done in an engineering capacity, it was clear that there was still some struggle to recognize my competence as an engineer. My degree was a technical one, but in mechanical & aerospace engineering, not computer science. And I’d been out of the normal workforce for almost 15 years. What software development experience I had was part-time, mostly on front-end web – which was (and to a certain extent still is) not really taken seriously by game developers, and freelance; I’d never really worked as a software developer as part of a collaborative team until Zwift. I believed then – and still believe now – that my experience as a professional athlete was at least as valuable as any specific technical expertise. There’s substitute for grit and accountability. But it remains – as many elite athletes and veterans continue, unfortunately, continue to learn – an obstacle when getting hired or promoted.
In addition to realizing that I needed to shore up my resume, I also had come to truly have a passion for software development. Software really is magic.
if you ever code something that “feels like a hack but it works,” just remember that a CPU is literally a rock that we tricked into thinking
— ben 🚀 cobalt core! (@daisyowl) March 15, 2017
not to oversimplify: first you have to flatten the rock and put lightning inside it
— ben 🚀 cobalt core! (@daisyowl) March 15, 2017
And I love it. When I went to college, I chose mechanical engineering because I wanted to build “things.” I considered civil engineering, because I love bridges and – especially – concrete, but I really loved cars. I didn’t yet realize that software is also a “thing.” And it’s amazing. And so I wanted to get better at understanding how to make software, and why and – especially – how it works. I needed to learn the fundamentals. And I wanted to understand it more deeply than I thought I could teach myself. As a brief aside, I think this strongly argues that the traditional high school immediately into college system isn’t really ideal. I really knew nothing when I went to college about what I loved and what I wanted to do with my life. Now, certainly, going through college taught me a lot about that and there’s also a lot more to college than just that – rowing, for example… But I also wish I had a bit more maturity and perspective when I went to Princeton.
In addition to normalizing remote work, the pandemic also normalized remote education. Everyone learned remotely. If there ever was any real stigma around online education – and it might only have been in my elitist mind; school was a place you went – the pandemic erased it. And also expanded the offerings. And so once it became clear that we weren’t just going to go back to the office, and I also admitted that I already knew pretty much all I really needed to know about getting in shape and that I wasn’t really going to learn much on 7hr bike rides, I decided to take advantage of the perspective (however limited) and maturity (even more limited) that I now had at 40 rather than 18 and go back to school.
I applied to two programs – the CSU Fullerton program in Software Engineering and the Georgia Tech program in Computer Science. I ended up getting into Fullerton first and enrolled because I didn’t want to pass up the opportunity to learn more if I didn’t get into Tech. But the Tech program was my first choice, and when I was admitted about halfway through my first semester at Fullerton, the decision to switch programs was easy.
The Tech OMSCS (Online Masters of Science in Computer Science) is amazing. It was started in 2014 in partnership with AT&T and Udacity, and it was really the incredible vision of a few GT professors – most notably Dr. David Joyner, who still runs the program – to use technology to teach more students more cheaply. Computer science certainly lends itself to remote learning, but I think any program can benefit from seeing what Tech has done with the OMSCS program. It’s literally 1/10th the cost of equivalent programs and equivalently good schools. And it’s phenomenal. It was even half – and less than half after a cost reduction (how often does that happen in academia?) – of the in-state Fullerton program. For a world class education. If you want a counterpoint to the ever-increasing bloat of higher education costs, the Tech OMSCS program is it. Total cost for the program is now just under $7,000. And special thanks to my employer Respawn / Electronic Arts, whose phenomenal education assistance program covered literally 100% of it.
I took one class a semester at Tech and every one of them was useful and practical for what I do every day. Having received credit for the two classes I took at Fullerton on software development process, it took me exactly three years to complete my degree. It was unquestionably one of the most rewarding experiences of my life. When I stopped racing, I always wondered if I’d find something that I both loved as much as triathlon and that I was as good at. A big part of my focus on bike racing – first gravel and then track racing – was that sport was my identity. I didn’t really know if I’d be great at anything else. And so I needed to keep racing. It was only when the pandemic made racing an impossibility that I finally had to reconcile who I was beyond being an athlete. Being able to replace the pursuit of athletic excellence with the pursuit of academic excellence was such a gift. From a purely intellectual standpoint, I learned much more at Tech than I did at Princeton, but that’s entirely on me. I was really ready to learn. And, not surprisingly, many years of disciplined practice as an athlete gave me much better study habits.
Today, it’s official. My degree is complete. I’d like to think I was – am – a master of triathlon. And maybe endurance sport more generally. But now I’m also a Master of computer science – though still a long way from a true “master.” I graduated with straight A’s… and one B. That one class – High Performance Computing Architecture – was a good reminder to be humble and to remember that there are always people smarter than you; and also to take chances – that class was a struggle and I didn’t enjoy a lot of it, but I learned a great deal, and the understanding of assembly language remains especially invaluable. While the high-achiever in me wishes for a perfect 4.0, I’m more glad that I took the classes I did and learned what I did. It will undoubtedly serve me better in the long run than some number on a transcript will.
I don’t know that anything will replace my four years at Princeton. I am – and always will be – a Tiger. But that’s because of everything that filled those four years – the time at the boathouse, the relationships, the struggles both socially and academically – and the growing up that happened. And, more than anything, it’s the rowing. Nothing has meant as much to who I became and who I am as crew. But what incredible good fortune it is to find something that I love equally as much to pursue going forward and alongside of my athletic pursuits. And so, as I go to work behind a keyboard and computer screen each day, I am also proud to officially call myself a Yellow Jacket.


Thanks for putting your words out there. I think many of us AG look at you guys (pros) and wonder what becomes of them once they slow it down a bit…where does life take you? I have always enjoyed reading your words and following your career. Good luck in the remaining chapters of rappstar
Brad G
LikeLike