My Summer at Strava
This is the fourth post in Strava’s Intern Blog Series, where we give interns the opportunity to talk about the projects that they’ve been working on.
Hey everyone! My name is Kyle, and I am a Software Engineering Intern on the iOS team at Strava for the summer of 2017.
I will be graduating this fall from the University of Rochester as a double major in Computer Science and Psychology. I was able to combine both interests into a double major while maintaining a specific focus on mobile software engineering.
This summer, I have been able to work with around twelve iOS engineers at Strava in addition to the members of my vertical team, which manages Clubs and Organizations. Vertical teams are cross-functional groups that focus on a set of specific features in the Strava product; we’re composed of all different roles — product, design, iOS engineering, Android engineering, web engineering, support, marketing, and data science. At the end of the day, we are building software for people. A combination of technical knowledge and awareness of the human component have been especially useful while working at Strava.
Coming to Strava
When you do technical interviews in college, you expect the role to be just as stressful. Coding interviews are usually one-on-one interviews with a full-time engineer. You have to code right in front of them and come up with unique solutions on-the-fly. My two technical interviews with Strava were not a walk in the park, so I expected everyone at Strava to be very intense and stressed.
That’s not at all what I found when I eventually started! I was surprised when employees would go on lunch runs, 6:30am bike rides, or cross-fit in the afternoon. On their first day at the company, every new hire is introduced to Strava’s core values — Authenticity, Balance, Craftsmanship, Camaraderie, and Commitment.
Balance, especially, is actively promoted at Strava. I am someone who naturally enjoys solving problems, often working well past normal hours. When I did, though, my co-workers would encourage me to step away from the computer, and remind me that it was totally fine to finish my work tomorrow. In the past, I have always wanted work to be the defining aspect of my life. As an intern here, however, I felt that the sentiment “your life is not your work” was strongly advocated. At the same time, Strava employees have a high level of passion and skill for the things they work on. In recognition of Strava’s core value of Craftsmanship, the work has been very focused. Employees are able to build great products without being burnt out by work.
How has it been?
I have met some of the most talented people across-the-board at Strava. Even though it is an athletic-technology company, I have met a few people with PhDs and non-traditional backgrounds.
Most of my work this summer has been centered around some large, yet-to-be-released features coming this fall. While I cannot talk about them yet, there has been a ton of great collaboration at Strava. All of the the work has benefitted from the structure of the teams and product.
Strava’s vertical team structure enables cross-functional interactions to be smooth and productive. While building these features, I was easily able to collaborate with our senior designer, our product manager, our Android engineers, and our web engineers. This communication and flexibility meant that I could always be up-to-date on the progress of each component at various stages. While there may only be one or two other iOS engineers on my team at a time, I am able to depend on iOS engineers across the company. At Strava all engineers that work on a similar platform or language are grouped into a Guild. Guilds enable us to keep a set of shared standards, practices, code reviews, and can help each other out. While building these features, I would often depend on members of the guild outside of my vertical team.
Every other week, the guild of iOS developers at Strava gets together to chat. We either read from a book on Swift, watch a video, or discuss the latest best practices. These meetings help tremendously as iOS engineers at Strava make the transition from Objective-C to the Swift programming language.
At the beginning of my internship, I was able to go to the Apple Worldwide Developer’s Conference (WWDC) with another Strava iOS engineer. As one of the top Health & Fitness apps in the App Store, it was important for me to see the larger context of Strava within the Apple ecosystem, as well as integrations with Apple’s technology like the Watch and HealthKit.
Throughout the summer, I was not treated like a typical intern. I had all of the traditional responsibilities of a full-time engineer. Because of this vertical and horizontal team structure, I was able to approach problems in a cross-disciplinary manner.
The second core value I immediately experienced at Strava was Camaraderie. Towards the end of my internship, I have been improving the search functionality on Strava. I’m currently working with the Infrastructure team writing in the Scala programming language. At no point was the team condescending while I ramped up to working. They were helpful and pushed me in a positive way, just like a running partner would do. This camaraderie made it possible for me to learn and work across teams.
Being a mobile engineer at Strava in 2017 is quite special. You get to impact your users’ lives in a positive and meaningful way. It is not only about building an app for others, but it is about building camaraderie and commitment in their athletic lives. More people than ever before can benefit from the products you build, whether that’s a fitness app, game, or utility. The best people I have met at Strava have a multi-faceted mindset. You get to build software that millions of people around the world will touch, use, and depend on in their daily life.