2020 was the year that I actually retired from being a professional triathlete. Until 2020, there was no pursuit that was more important to who I was and how I thought of myself than sport. Work was what I did, but sport was who I was. I cannot imagine a better company to have left triathlon for in 2017, but it was a both a perk and a challenge of Zwift that I was able to hold on to so much of my athletic self. I am overwhelmingly grateful for that opportunity, but until 2020 I didn’t even realize how much I still identified as an athlete. Some of that will never change, but through the forced absence from competition brought about by 2020, I was able to finally let go.
I still remember clearly when triathlon shifted from being something I did to being the thing that I was. Almost 20 years later, I could feel that shift unwinding. Where sport is no longer who I am, but is rather something I do. And in making that shift, space opened up in my life – space that I wanted to fill with something else. To be clear, I plan to still train and, when it’s once again an option, to race; I miss the track and intense exercise is a core part of my routine and my sanity. To me, it was about space and not about time, as a quick look at my Strava feed will show. It was about priorities. And, more than anything else, about my own sense of self.
Even though I was able to let go of sport as the defining aspect of who I am, I will never be able to let go of what Simon Whitfield calls, “the relentless pursuit.” And so I made the decision to pursue an advanced degree related to software development. While every ABET-accredited engineering degree includes basic proficiency in computer science, most of what I know about programming is self-taught. While that’s served me well, I also know the value of great instruction. For reasons entirely related to cost and the need for a program which was entirely online, I settled on CSU-Fullerton’s MS in Software Engineering and the Georgia Tech’s Online MS in Computer Science.
At the time I applied, I’ll admit that I didn’t fully grasp the differences between software engineering and computer science. Software engineering is almost entirely practical; it concerns itself heavily with the processes around software development. Computer science is much more theoretical, with a focus on how computers work (and, by extension, how to write software to take advantage of that). There are a number of good articles outlining the differences between the two, but I found this one from FreeCodeCamp.com to be the most insightful and concise. The links I posted to each program list the curricula, which also do a great job of showing the differences between the two programs (as well as the overlap).
I thought computer science was the better fit, but I also thought I’d be happy at either program. I ended up needing to enroll in the CSUF program before I heard from Georgia Tech about my acceptance, and I knew I didn’t want to pass up a sure opportunity for a possible one. I also knew that I could transfer up to two credits from CSUF to GT, as software engineering is an important part of computer science and does count towards that degree. In late September, I received a tentative offer of admission from Georgia Tech, which was then finalized in October. At that point, I was well into my first semester at CSUF, and while I was enjoying it, it also became clear that computer science – and not software engineering – was where my heart lay. Put simply, I wanted to write code. As of the spring semester for 2021, I am proud to announce that I am enrolled in the Georgia Tech OMSCS program with a specialization focus on Interactive Intelligence.
During my three years at Zwift, I moved into increasingly technical roles. I was hired in 2017 largely with the idea of improving Zwift’s training content. While I think I did a fair job in that area, it became less and less of what I focused on day to day. While I was hired as, essentially, a “pure” designer, I left Zwift as (almost) a “pure” engineer. In my current role at Respawn, I’m continuing in that vein. While my role is “Technical Game Designer,” the particular area of Apex Legends that I’m working on is much heavier on the technical side and much less on the design side.
The two classes I took at CSUF – CPSC 541: Systems and Software Standards and Requirements and CPSC 544: Advanced Software Process – were incredibly valuable, and I also thought they did a great job of preparing me for the act of going back to school and for doing so in an entirely remote way. After almost 20 years, that was a big change, and I was glad to be able to do it with courses that were slightly more subjective in nature. But going forward, I’m excited to have the chance to take courses like Video Game Design and Game AI.
After only a month (much of which has been spent on winter vacation), the sense of what I am supposed to do in my new role at Respawn is still emerging, something that’s also made more challenging by being entirely remote. The most frustrating part of starting any new job is going from being somebody who knows things to being somebody who knows nothing. But one thing that is clear is that in this role I have also transitioned. While I left Zwift as an engineer, my expertise as an athlete was still an important part (albeit an increasingly small one) of the work that I did there. And it was also a three year transition from being a guy who knew about training to a guy who knew about engineering. In my new role, my expertise is almost entirely technical. I say almost because I believe that there are many important and universal life lessons that come from the pursuit of high performance sport, especially triathlon with the management of three different disciplines. The most important of those is that elite sport is highly objective. And it’s also about doing. And when I think of myself now, it’s the “doing” part of myself that resonates most strongly. That’s why I wanted to study computer science. That’s why I wanted to be in a technical role where I got to write code. To practice engineering. And to get better at it.