It takes a team to get FIT

Julia Jaschke
strava-engineering
Published in
5 min readOct 11, 2019

My name is Julia, and I am a rising senior at Middlebury College studying computer science and philosophy. At Middlebury, I am on the cross country and track team; however, my true love for running came from the trails. In high school, my coach would tell me how my climb on our trail runs compared to the corresponding Strava segment’s leaderboard. This early exposure to Strava through my coach and my continued love of running, put Strava on my radar when I started looking for internships.

This summer I was a web intern on the experience team, which is focused on improving the record and upload experience for the athlete. During my internship, the team’s main project was moving from uploading JSON to uploading FIT, which Garmin uses to send activity information. One of the main reasons for this transition was to reduce the number of activities that have data issues which could negatively impact the athlete experience. These issues include, but are not limited to, GPS gaps, incorrect distance or speed, bad GPS quality, and skipped data points. Bad data can affect the appearance of an athlete’s activity. Therefore, to improve the athlete experience, it is important to track and understand these activities. To measure this we use a metric called percent Sad Activities which tracks which activities have bad data. Percent Sad Activities is formally defined as (activities started — activities processed + activities with bad data) / activities started.

While the general focus of the experience team was on the transition to FIT uploads, the specific focus of my summer was on Burrito, Strava’s FIT file parser. Currently, the mobile client uploads JSON blobs. Therefore, the logging in Strava’s JSON parser is used to track percent Sad Activities for mobile activities. As mobile moves to FIT, the logging I have worked on will replace the current JSON parser logging to track percent Sad Activities for mobile uploads. Along with tracking percent Sad Activities, the logging I have done in Burrito will be used to compare the performance of FIT files to JSON files.

Burrito is written in Scala, and coming into the internship, I had very limited back-end web experience and no experience with Ruby or Scala. It would be an understatement to say that this was a bit nerve wracking. After getting set up, going through onboarding, and meeting my mentor, I saw an article posted in one of the company’s Slack channels on imposter syndrome. The article described my emotions perfectly. This was my first technical internship — I came from a liberal arts school, I had no practice navigating large, unfamiliar codebases, and to top it off I had no experience in Scala. The article helped me recognize that what I was feeling was imposter syndrome and enabled me to relate my internship to my experience as an athlete.

I started racing cross country in 9th grade. Every season I get to the starting line of the first race with a feeling of imposter syndrome. As the season builds, workouts and coaching advice push me to become a physically stronger athlete, which allows me to show up to each race more effective and efficient. Similarly, the strength of the team bond, which is built throughout the season, puts me at ease and increases my mental strength as I stand at the start line surrounded by my teammates.

Relating this back to my internship, just as the training I did every season prepared me for the next season, all the work I put into learning new coding languages at my liberal arts college prepared me to transition to learning Scala on the job and in action. Similar to having a running coach, Strava created a network of coaches by assigning each intern a manager, mentor, and a buddy. My manager helped me with the bigger picture, just as my coach set me up for the end of the season. My mentor, along with many other Strava employees, helped me daily with the smaller details, the (at times what felt like) thousands of new concepts, technologies, and syntax. With each issue I ran into while trying to get a grasp of Scala, the partner coding, advice, and pull request reviews allowed me to gain a noticeable amount of confidence with Scala throughout the course of my internship. I relate this to my coach talking me through a workout. Beyond the technical mentorship, my Buddy, and all the other Strava employees took the role of my teammates. The advice, friendship, and energy each of them brought made Strava an enjoyable place to show up to every morning.

Commuting home from work together

Similar to my cross country teammates who are on the team because they love to run, employees are here at Strava because they love what they do. This passion makes it so that, similar to a sports team, nobody is there to just get their work done and leave. No matter who I asked, people always took the time to thoughtfully answer my questions. The depth of the responses showed a true interest in helping me learn and understand the concepts. Rather than being “just an intern”, I was clearly a teammate that they were happy to make time for and passionate about making my internship a positive and impactful learning experience. Just as the strength of my cross country team has helped me to overpower the feeling of being an imposter, my team at Strava instantly stepped into that role and empowered me to make the most of my Strava experience.

As I said earlier, being on the cross country team each season builds physical strength. Despite being a technical internship, the analogy between my cross country team and my Strava team still holds true. This blog would not be complete without talking about the WoW and the trail runs at Strava. Every Wednesday there is a workout during lunch where the employees get together and go for a run. I showed up for my first WoW thinking it would be a nice easy casual run with my coworkers. I was wrong. One of the Strava employees yelled out the intervals for the workout and we headed out to the “track”. By the end of that workout I was officially exhausted. It was perfect and now each WoW is a highlight of the week. Along with the WoWs, I have already been on countless runs with co-workers and even a few Marin trail runs before and after work. Something about sweating it out together really solidifies relationships and quickly turns co-workers into teammates.

Cheesin’ after a Strava trail run in Marin

If I were to use one word to describe my summer at Strava, it would be team. My time on the cross country team and my summer on the experience team at Strava has shown me that, whether it be moving to FIT uploads, physical fitness, or mental fitness to overpower imposter syndrome, it takes a team to get FIT. From my mentor, to my manager, to the other employees (who quickly became additional mentors), and finally to those that sweat it out with me during the WoWs, I am very lucky that I had the Strava team to help me along the way this summer.

--

--