Like what you see here? Our mission-aligned Girl Geek X partners are hiring!
- See open jobs at Strava and check out open jobs at our trusted partner companies.
- Does your company want to sponsor a virtual Girl Geek X event in 2021? Talk to us!
Transcript of Strava Geek Dinner – Lightning Talks & Executive Discussion:
Angie Chang: Thank you all again for joining me for this Strava Girl Geek Dinner in the middle of a pandemic.
Sukrutha Bhadouria: Post pandemic now being virtual, you get to see more people across different time zones that we wouldn’t otherwise been able to see.
Camille Tate: I was being truthful, we do have a team of all stars and we’re going to talk about a variety of topics that you all may have an interest in.
MacBeth Watson: So what I did was I took a bunch of short term contracts and tested the waters and figured out what was right for me, what I really enjoyed solving, what problems I enjoyed solving.
Tara King-Hughes: I said, okay, I’ve got to do something with this and that led me to a career in development and in development, I always wanted to connect the dots and X, Y, and my boss was like, “Well, maybe you should be a dot connector.” And then that landed me in product.
Shailvi Wakhlu: I always really encourage people to focus on growing their own functional expertise that extends beyond that specific use case for that specific consumer and think towards other use cases and what would be your skill set that will continue to apply in those different situations.
Danielle Guy: Look inside, find what makes you happy, what brings you joy and don’t be afraid to prioritize yourself. When you look into your next adventure, your next company and role, make sure that your values and beliefs align with whatever company that you’re looking at.
Elyse Kolker Gordon: You can do it, you got to put yourself out there to be able to do it.
Angie Chang: Welcome to this Strava Girl Geek Dinner. My name’s Angie Chang and I’m the founder of Girl Geek X. Sukrutha, do you want to say hello and tell us a bit about yourself?
Sukrutha Bhadouria: Yeah. Hi, I’m Sukrutha and I’m dialing in from San Francisco. Angie and I work together on this. Obviously, we’re backed by an amazing supportive team behind us, Amy and Amanda, thank you. We are excited to have you all join us tonight for Strava sponsored virtual dinner. Pre-pandemic, we would have obviously met in real life, but post-pandemic, now being virtual, we get to see more people across different time zones that we wouldn’t have otherwise been able to see.
Sukrutha Bhadouria: I use Strava on the daily, and the magic of Strava is being able to bring people together all across the globe with one focus, just trying to motivate each other to work out. So whether it’s a walk or run and I really appreciate the partnership we’ve had with Strava. This is not the first time they’ve sponsored.
Sukrutha Bhadouria: I’m excited to introduce our first speaker, Tara. She’s the senior director of product management at Strava where she leads a team of product managers. As a product leader, she focuses on solving the right problems to build minimum lovable product. I love that. In her spare time, she mentors underrepresented groups and helps them build rewarding careers in product. So welcome, Tara.
Tara King-Hughes: Okay. Thanks. Well, I’m going to tell you a little bit about Strava.
Tara King-Hughes: Strava is a global community. We have over 85 million athletes with more than 80% residing outside the US, We have athletes in 195 countries. Strava members upload approximately 40 million activities a week. That’s more than 5.3 billion activities shared to date.
Tara King-Hughes: Our mission is to connect athletes to what motivates them and help them find their personal best. There are over 30 activity types on Strava, ranging from cycling to wind surfing, and we want to continue to expand this list and to support as many activities as our community needs. I’ll now hand it back to you, Angie.
Angie Chang: Our first lightning tech talk will be from Lucinda Zhao. She is the lead senior ML engineer at Strava and she enjoys developing algorithms and applications that bring better insights to millions of athletes on Strava. Before Strava, she worked at Uber on applied machine learning with location sensor data. She spends more and more time exercising ever since joining Strava in 2019. Welcome, Lucinda.
Lucinda Zhao: Hello, I’m Lucinda and I’m a senior machine learning engineer at Strava. Today I’m going to give a high level introduction on the problems, machine learning engineers. The machine learning team at Strava is relatively new and small, the team was built less than two years ago, yet we have good autonomy to discover and decide what to work on within Strava that could greatly benefit from machine learning.
Lucinda Zhao: With tens of millions of athletes on platform and billions of activity records, we have regionally unique data to leverage, to create values and to personalize athletes’ experiences. As we may be expecting a company of a relatively smaller size like Strava, our work scope is pretty end-to-end from data exploration to helps pipelines to model training and validation and a model serving and integration.
Lucinda Zhao: We leverage open source tools as much as possible. Since the team is new, almost all projects start from scratch. Here listed a few projects we have worked on. Some of them may sound familiar and some may be Strava specific. We work on PYMK which is short for people you may know. This is like social network, essential.
Lucinda Zhao: At Strava, we suggest fellow athletes for you to follow to help discover and connect in the community. The suggestions are based on athletes’ activities, interactions, etcetera. We also worked on dynamic notification scheduling. The goal is to intelligently send notifications of different content at different times and cadence to enhance user interactions and provide a good amount of information without too much interruption. We also worked on activity type classification. This is Strava specific.
Lucinda Zhao: Basically, when you upload an activity to Strava, you need to specify the sport type, whether it’s a run, ride, or swim, for example, and athletes could compete with each other by comparing the records of the same sport type and the same location. And that activity becomes the segment and each segment has its own leaderboard. Segments and leaderboard are one of the key features of Strava, incorrect types may lead to inaccurate leaderboards. Activity type detection aims to detect activities of wrong sport types automatically, and such as a correction to help improve data integrity and user experience.
Lucinda Zhao: The last one I like to talk about is segment effort estimation. Strava recently launched the new navigation and maps through which exploring segments and routes has never been easier. In the new map, Strava recommend segments based on intense, for example, as you can see on screenshots, whether it’s popular segments or discover new places or break your records. The names are quite self explanatory. In the break your record and climb leaderboard intense, we recommend segments that we think you have a good chance to score a better rank.
Lucinda Zhao: Let’s take a closer look at the segment effort estimation at this particular application. Under the hood we may have tens of thousands of segments for a given map region. We filter them down to a smaller pool, say, of a few thousand, run a model to get an estimated best effort for all the segments for the given athlete and compare the estimation with the leaderboard or personal records, rank and [inaudible] selected segments in the app. If I take a closer look at the data and model, your [inaudible] projects are composed of two: parts offline training and online scoring.
Lucinda Zhao: For offline training, we take the best effort from the past and records of the label for given athlete and segment here. The future and aggregate past segment efforts to characterize a given segment, which is a segment of features in the chart. Similarly, we filter and aggregate his or her activities on Strava to characterize a given athlete, which are the athlete feature in the chart was labeled and [inaudible] a model can be trained and evaluated.
Lucinda Zhao: The number of segments we have at Strava is at 10 million scale. The number of athletes at Strava is at 10 million scale and the segment efforts is at 10 billion scale. The final model is training model 100 million segment are athlete players. For the online estimation part, the features I mentioned previously are pre-calculated and stored in the productive database which can be batched in real-time based on ID with the train model and features we can provide pretty reliable personalized estimations for arbitrary athlete and segment players.
Lucinda Zhao: Finally, a little bit about the model serving integration. The most common ways to have a standalone surveys. You already in person where you registered [inaudible] model, expose it as an import and do the RPC call with provided features and get output in real-time. However, for this particular application since we may run predictions on some of our segments under the hood for each [inaudible], the size of the input features could be quite large. So it makes more sense to move the model to the data rather than to move the data to the model.
Lucinda Zhao: As a result, we have the models served within the scholar server, always [inaudible] settings. Besides to achieve desired latency would also routine the model complexity to improve the inference efficiency with a bit of sacrifice on accuracy. Details only [inaudible] but hopefully it provides a high-level picture of the workflow.
Lucinda Zhao: Of course, we’re planning a lot more in the future. For example, we may want to recommend challenges, competitions, or local events that athletes can participate in. Maybe it can recognize segment the athletes who are similar to you with a lot and so on and so forth. This technology is in detail, we strive to create unique values and experiences for our athletes. That’s all from me. Thanks for listening, I’m handing it over to…
Sukrutha Bhadouria: Thank you. I’m going to do a quick intro for you, Sara. Welcome. I’m glad to see everybody dialing in from all around, like I said, all around the globe in various time zones. Welcome, Sara.
Sukrutha Bhadouria: Sara is is an engineering lead and manager at Strava on the foundation team. She enjoys developing the systems and infrastructure that makes Strava reliable and performance for all the athletes that rely on Strava. That’s amazing. She’s passionate about helping individuals navigate their careers and building inclusive and sustainable teams and culture.
Sara Shi: Thank you for the intro. Hi all, thank you for having me here at this Girl Geek event. My name is Sara Shi and I’m here to talk to you about scaling on-call culture with a growing product or, how I learned to stop worrying and love ownership. I hope there’s some people out there that get the Dr. Strangelove reference, but if you don’t, it’s a good classic film that you should check out.
Sara Shi: A little bit about me. I’m based out of San Francisco as an engineering lead and manager on the foundation team. Our team is more traditionally known in industries as infrastructure or site reliability engineering team. I joined about three years ago in 2018 and before then, I’d never been on call in my life, but we’ll get into that a little bit more later.
Sara Shi: At Strava, we like to say that everyone should have time for the preferred activity type, and contrary to what you might believe, not all of us at Strava are crazy triathletes. In fact, I’m going to go as far as to say that my preferred activity type is eating so that isn’t quite something I can track on Strava. A little bit about Strava, as Tara mentioned in her introduction, we are a global community with over 85 million athletes, adding over 2 million athletes every month.
Sara Shi: We are a rapidly growing product. To give you a sense of the scale that we operate at, we have over 5 billion activities to date and every week we upload more than 40 million activities. And we’re a distributed company. We’re about 250 plus engineers or employees and about 85 people in the engineering org. So all of this might seem like it’s a sales pitch but I’m telling you this just to give you some background on what on-call is like at Strava and the scale at which we operate.
Sara Shi: Strava’s on-call journey, or at least as I’ve known it. As I mentioned before, I’d never been on call before my time at Strava but back at the beginning of 2018 or 2019, the time came for me to go on call and I asked for access to PagerDuty. The response that I got from my colleagues was, be careful what you wish for. That’s not quite what you want to hear when you’re just asking for access to on-call software but I soon came to understand why.
Sara Shi: Back in 2019, we had about 50 engineers. In terms of scale, we had crossed the two billionth activity mark sometime during that year. But when I went back to look at PagerDuty metrics, the top 10 most paged engineers at Strava handled 91% of all incidents. That’s not great. It’s not great for our engineers. It’s not great for the product and it’s not great for the athletes that depended on those. So we resolved to change this, but we knew it would be a long journey. So what did that long journey look like? Well, it’s easy for me to look at the metrics in retrospect.
Sara Shi: In 2020, Strava had grown to about 70 engineers. We crossed a 3 billionth activity mark that year but this time holding steady with my top 10 most paged engineers metric, the top 10 most page engineers handled 69% of all incidents. It’s still not great, but definitely improvement. That brings us to 2021 or this [inaudible] August. We are now at about 85 engineers, well past our 5 billionth activity, and this year, so far, the top 10 most paged engineers handled 60% of all incidents.
Sara Shi: You might imagine that you’d want something where every engineer was responsible for an equal proportion of incidents but that isn’t particularly realistic based on how different services run, how different teams operate, and what different teams consider high urgency. That being said, we’re still not where we want to be and there’s definitely room for improvement, but that’s not what I want to talk about. I’d like to walk you through where we started and what we changed to get the improvement that we did see with our growing scale. So I’m going to cover this in the context of three areas. Technology, people, and culture.
Sara Shi: So, technology, where do we start from? This may feel pretty self-explanatory but you can’t have a successful on-call culture without the right technology. The pillars of observability and metrics logging and tracing provide visibility into our systems and applications while alerting enables us to respond to the conditions that require attention. These two together allow us to investigate and diagnose issues that arise within the systems. Fortunately, in 2019, we had already configured or were in the process of configuring many of our tools. I want to note that it’s a seriously non-trivial effort to configure each one of these components on their own but thanks to the hard work of many engineers on my team, we had a solid foundation to work on.
Sara Shi: How did we improve from here? To shift the ownership of those 91% of incidents from one group of engineers who didn’t necessarily have all the tools they needed to succeed, we invested heavily in building tools and documentation to enable individual team ownership of their own observability and alerting. For example, we built tracing libraries and of course shared libraries into every one of our services so that any service owner can simply follow the library version and get tracing for free. Or for another example, we wrote a product called [inaudible] which enables people to write their own grip on a dashboard easily.
Sara Shi: We also wrote docs on how to use a variety of the tools available and gave the recorded tech talks to demonstrate how to use those tools. We simplified the friction of using these technologies so that our developers would be able and excited to own their services from end to end. So on to people, where did we start from? Back in 2019, we had about three main rotations, but the input rotation responded to nearly all incidents. In the process, we are exhausting a small group of individuals, siloing product knowledge, and struggling to maintain core triaging incident response skills across the rest of the engineering org.
Sara Shi: How did we get better? Beside just forget about it altogether, we started from scratch. We established rotations on the minimum of eight people and up to 10 people. These numbers might seem kind of arbitrary, but they allowed us to avoid exhausting any one individual. Engineers could expect to be on call for about one week, every two to three months, which is just enough for engineers to maintain their core triaging and incident response skills.
Sara Shi: We also established product rotations per product area and team rather than grouping engineers into the broad rotations that didn’t really make much sense. It seems like that’s intuitive, but it was quite a challenge to draw the product area lines, but I’ll get into that a little bit later. We also established primary and secondary rotations across the product areas and teams. If you’re not familiar with the concept of primary and secondary rotations, the idea is you have two rotations, ideally sibling teams on call at the same time to cover for one another in some capacity.
Sara Shi: Typically, the primary rotation for one product area or team is the secondary on another product area or team and vice versa. Our secondary rotations catch any alerts that might fall through from the primary rotations or provide coverage than someone on a primary rotation needs it. This means you always have someone to call in for backup or to cover for you while you go do your preferred activity type. I’m actually on call right now, but thanks to Jacob on the activities team, I’m getting coverage as I’m giving this talk.
Sara Shi: Additionally, we establish the role of incident managers. You may remember in my talk description that I said, even our CTO is on call. He’s on an incident managing rotation. Incident managers, helping [inaudible] incidents to delegate responsibilities, manage external communications and communicate overall business impact to stakeholders, giving us engineers the ability to focus on what’s going on in hand. Finally, culture. Where did we start from?
Sara Shi: Well, we had set product level objectives, latency, request ability, et cetera, across the company. We had relatively good playbooks or sets of instructions for responding to, diagnosing and resolving incidents, mapped to specific alerts and errors. We had effective long-term remediation and prevention. We do and still to this day, take advantage of a weekly meeting called incident review, in which we review all incidents that happened during the week, assign immediate action items and identify where we need to plan out longer term remediation strategies and we have a blameless culture.
Sara Shi: We focus on the contributing causes of incidents without focusing on any individual or change behavior or resolution time. We can always assume that everyone did the best that they could with the information available. Being on-call can be stressful and we want to provide a psychologically safe environment to work, learn, and grow in being on call. So how do we get better? Ownership. How do you know who owns what as your company grows? As teams change, as product focus areas shift? How do you prevent features from being neglected or lost? Maybe at a large tech company, you have the resources to hire a new team for every product area.
Sara Shi: For a company like ours, that’s just not possible when we’re trying to grow modestly in line with our scale. So how do we start this ownership journey? Well, it started with sitting down with a spreadsheet. We conducted a product survey and feature audit in that teams to product areas and features. This was quite a monumental task, especially over areas that have been neglected over the entire 11 year history of the company. This spreadsheet ended up being a whopping 336 line items and I’m sure we didn’t even hit everything with the survey and audit, but it gave us a good starting point to work from.
Sara Shi: From there, we were able to map product features to services and services to teams and with the join we’d already built, it was easy to ascribe ownership of observability and alerts to those teams. The things that I’ve just discussed are a sampling of where we’ve improved. We’re constantly learning, iterating on our processes and on call culture, and maybe in another year I’ll have another update, but in the meantime, what should you walk away with or what should your company strive for? A solid technological foundation, implement observability and alerting, build tools and write documentation that allow any individual to own their own alerts, logs, metrics, and traces with ease.
Sara Shi: Take care of your people. Start with a fixed core number of people per rotation and create rotations per product area. Set up the backup cavalry primary and secondary rotations with the right on-call training and preparation so that you can give your people psychological safety and work-life balance and designate incident managers to help with managing everything else flying around during an incident. Finally, build a sustainable culture. Set service level objectives so that your company level objectives don’t feel so impossible to tackle. Write playbooks that any engineer from any team can pick up.
Sara Shi: Make sure you have long-term remediation and prevention strategies, whether that’s a post-mortem culture or a weekly incident review meeting like ours. Promote a blameless culture where your engineers can work collaboratively and openly learn from their mistakes and own what you built. This is important. Don’t let us become an afterthought. Build this into every step of the process. I hope you’ve learned a thing or two that you can take back to your own companies. Thanks to Girl Geek for hosting and thanks for listening. I will pass it back.
Angie Chang: Thank you, Sara. Really liked that talk, especially about the culture aspect and creating that playbook. So thank you so much. Our next speaker is Michelle Dobbs. She is a senior server engineer at Strava on the competition and community team. She enjoys developing scalable systems to improve the athlete experience for all and is passionate about improving developer productivity and operations. In her free time, she enjoys cycling, basketball, and learning to play piano. Welcome, Michelle.
Michelle Dobbs: Excited to be here. Hey, everyone. My name is Michelle Dobbs, I’m a senior server engineer here at Strava and I joined the competition and community team back in March of this year. I’m based out of the Strava Denver office and I actually just returned back to Denver’s altitude yesterday, so if I’m a little out of breath, I’m just not acclimated to the lack of oxygen yet. Prior to Strava, I was working at Amazon Web Services on a space and satellite project called AWS Ground Station. One of the things I definitely learned from having your full production service require satellites orbiting the earth is how to get a little creative sometimes with your testing strategies.
Michelle Dobbs: Before I dive into how we load tested our new group challenges feature back in June, I want to give a brief background of Strava challenges and what it meant for us to launch group challenges. Global challenges have been around on Strava for several years. These are challenges that are surfaced to all Strava athletes and everyone has a chance to join and complete the challenges to earn digital badges or discounts or products from some of Strava’s partners. For most athletes, the leaderboards of these challenges can be a bit out of reach since it can include so many thousands of people. So, often these challenges can be more about pushing yourself individually to reach a goal that many others are also striving towards.
Michelle Dobbs: By launching group challenges, Strava made a challenge experience that’s more personal, customizable, and competitive. Athletes can challenge their friends to a specific goal of mileage to run or total time span active and they’re able to view leaderboards and send comments back and forth to this smaller group of athletes. This feature was developed reusing some of the same backend as global challenges, but there was also a sizeable amount of new code. When we launched this back in June, we wanted to do everything in our power to ensure both that the new feature was working correctly and that the existing global challenge features were not negatively impacted by the launch.
Michelle Dobbs: What can we do to increase the likelihood of a smooth launch day? Throughout the development of the feature, we ensured that we had third unit testing and code reviews for the new logic added to our challenges services. We also launched a beta testing round with athletes well ahead of launch so that we could gain insight into what pieces of the system might not be functioning as expected. And that’s both on the user experience side and also on the software performance side. But the missing piece that both these strategies have is the ability to gain insight into the performance at scale.
Michelle Dobbs: We need to be sure that when our millions of users have the opportunity to explore and play around with this new feature, they aren’t met with bad performance or high latency while our engineers have to scramble in the background to repair issues post-launch. With this load testing goal in mind, we developed a high-level testing plan that we believe would have the best chance of exposing any performance issues ahead of launch.
Michelle Dobbs: First, we’ll create hundreds of thousands of challenges and add athletes to them. Next, we’ll drive activity, upload traffic, so that the business logic of leaderboards and challenge updates is exercised. Lastly, we’ll leverage our metrics and dashboards so that we can identify where any bottlenecks might exist.
Michelle Dobbs: Once this plan was developed, our next task was understanding how we would run it logistically. Do we want to use Strava’s pre-prod staging environment to avoid unnecessary prod impacts or do we want our load test to be as realistic as possible, running in production with the competing traffic and capacity that it will have on launch day? Staging had the added challenge of lacking like a consistent activity upload pattern, whereas, our users in prod are constantly uploading new activities of all kinds that would exercise the code path that we’re interested in.
Michelle Dobbs: As you might expect, our solution here was to use a mix of both production and staging. We developed a four-phase approach that used Cron jobs to create challenges called the challenge-related endpoints for steady-state traffic and to delete all the test challenges. We planned to run these Cron jobs in four separate phases, a small-scale testing phase and staging to validate that the jobs code worked as expected, a larger scale test in staging using fake activity creation to stimulate prod uploads.
Michelle Dobbs: A small-scale testing in prod to ensure that load tests acts as we expect and, again, that athletes will not be impacted by the test. And then one last large-scale test in prod with hidden challenges that were created in the background for random athletes. We used existing traffic patterns on the global challenges side to estimate what we imagined was the ceiling for how many challenges might be created on launch day. And then for these larger-scale testing phases in staging and prod, we tried to hit those ceiling numbers that we’d estimated.
Michelle Dobbs: Once these phases were determined, our next question became, what exactly should we test? So the graph here is a pretty simplified version of the architecture for this feature. The athlete begins interacting with the group challenges feature through the high-level Strava APIs. Those APIs then call into the challenges service, which has several dependencies of its own. So we needed to understand what we would gain and lose by having our testing enter the system in different places.
Michelle Dobbs: The first decision we made was to have the testing entry point be in the challenges service rather than in the Strava API. The Cron jobs code became much simpler by moving it to develop against the challenges service, just due to the authentication methods required for each of the systems. We also did some due diligence there to investigate the Strava API code that called into the challenge of service, just to ensure that there were no risky areas that we needed to include in the test.
Michelle Dobbs: Next, we wanted to consider communication safety, so when users join or are invited to group challenges in production, there are several different notifications they may receive over the life of the challenge, like push notifications or emails. And we needed to ensure that when athletes were added to hidden challenges in production, they would never receive notifications. The negative side of this decision is that it eliminates a dependency from our load test. But we determined that our load to the notification service would not actually be significantly different from its existing steady-state load from other Strava features.
Michelle Dobbs: Having the confidence that we wouldn’t send unnecessary notifications was worth removing this piece from the load test. Before we ran the test, there were a couple of other safety precautions we wanted to take. We needed to be able to quickly stop all the load test traffic if there was a negative athlete impact in the production phase of testing. So we created a feature toggle for this purpose and ensure that all the on-call engineers understood when testing was happening and how exactly to stop it if it was suspected to be causing issues.
Michelle Dobbs: We also made sure that in staging, the feature toggle actually worked, which is key. When generating challenges, we also use the same random string names so that it was very easy to identify exactly which challenges are related to the load test. Lastly, to validate that no notifications are being sent, we added logging and feature checks that we could verify in staging and prod that no notifications were ever going to be sent for the test challenges. Once we ran this, what did we find? In staging, we discovered a missing index on a table that was causing queries to become extremely slow once the table had a large number of rows. This could have caused a complete service outage due to how slow those queries became like both on launch day and if we had chosen to run the load test in production.
Michelle Dobbs: We also found a small race condition in some of the notification generation logic. After correcting these issues and staging, we continued with the production test phase and found a couple more issues. There was a periodic challenge job that caused contention in the database with athlete traffic and increased the latency of non-group challenge-related calls. We were able to fix this by more evenly distributing that jobs load over time and over different service components. We also found an edge case bug that was affecting two to 3% of all create challenge requests in prod, which we didn’t catch in the beta test phase due to the low volume of that test.
Michelle Dobbs: All of the issues we discovered we were able to fix before we launched the feature in early June and we didn’t have to push back any deadlines. That was great. So after finishing the load test, we took a step to analyze how we could’ve made our testing better. The biggest pain point for the load test was the ability to upload quality activities in staging. Because we had no way to do this programmatically, we had to do generation of manual activities, which are completely separate from the Cron jobs that ran the rest of the load test logic.
Michelle Dobbs: Manual activities are also less useful than the activity uploads that you might see in prod, just because they’re less diverse activity types and they never contained GPS data. So what do we do in response to this finding? We didn’t have time to implement any of these changes during the development of this load test without pushing back our deadline. But thankfully Strava has this awesome concept called Guild week where engineers across teams can work together to develop solutions to problems that span across all of Strava. After identifying these pain points during load testing, I was able to propose a Guild week project, get buy-in from other engineers and then spend a week with them making the staging activity process better.
Michelle Dobbs: We built a new service that only runs in staging and allows programmatic generation of full GPS activity uploads in staging. Along with being able to use this programmatically, like in the Cron jobs for this load test or another testing code, we also created a UI where Strava employees can go and clone their own product with these, into their staging accounts with just one click. Not only did our load test secure a smooth launch for group challenges but also led to work that helps improve the development and testing experience for devs across all of Strava engineering.
Michelle Dobbs: What are key takeaways from this load testing process? First is staging first. We caught multiple issues in staging that would have really impacted production if we had started testing there, one of which could have taken the entire challenges service down. It was super important to start testing in staging and find the big bugs first. Next is isolate systems when needed. Isolating certain parts of our load test made the load test safer and simpler to write. As long as you’re aware of what you’re cutting out and the trade-offs that are involved, it can be really beneficial to make the tests run more smoothly.
Michelle Dobbs: Next, we have timing awareness. We caught multiple bugs through the testing process and because we started load testing sufficiently early, prior to launch, we didn’t have to push back launch at all to fix them. If you’re load testing without expecting to have to fix anything, you’re probably confident enough in your architecture to just not load test in the first place. Lastly, pay attention to pain points. Even if you don’t have time to fix issues with your testing environments or set-ups during the load test development, take note of the issues and then advocate for working on them later.
Michelle Dobbs: You have the potential to not only benefit future load tests for your team but also potentially multiple aspects of testing across your entire company. Hope you all found some of this info helpful or interesting. I’d really like to thank Girl Geek for hosting this event and I’m really looking forward to the amazing panel we have coming up. Thank you.
Sukrutha Bhadouria: Thank you. That was just super insightful and things for us to pay attention to when we’re rolling out whatever our big launch might be at our respective companies. Next up is Camille.
Sukrutha Bhadouria: Camille is the head of talent at Strava where she leads an amazing group of talented professionals in building diverse teams. 16 plus years recruiting veteran, she enjoys the day-to-day foundational building of talent acquisition, establishing a path for teams to attract and retain exceptional talent. She is a sought-after speaker, panelist, and contributor to the human resources and talent acquisition community. Welcome, Camille.
Camille Tate: Thank you so much for having us. I truly thank you, Girl Geek, for this partnership and setting this event up. I also am so excited and glad to have the opportunity to have listened to those amazing lightning talks. I learned so many things, even though I work at Strava. Thank you for that.
Camille Tate: I want to spotlight our amazing panel, throughout this panel discussion, you might hear me say amazing and awesome over and over again, just because this panel is truly a team of A-players and all-stars. I would like to introduce them and let them introduce themselves in a way I know that they can. We’ll start with Shailvi first, if you want to come on Shailvi and introduce yourself.
Shailvi Wakhlu: Hello. Hi everyone. Thank you so much, Camille, and thank you so much Girl Geek for hosting us. My name is Shailvi Wakhlu, I go by the pronouns, she/her. I am based out of San Francisco and I’m the Senior Director of Data at Strava. I lead the analytics and the machine learning teams. You heard from our wonderful teammate Lucinda who’s on my team earlier today. My one fun fact, similar to Sara, I also like activities that are food-related. So my favorite activity is looking for new things that I can fry in my air fryer.
Camille Tate: Love it, me too, Shailvi. Next, we have Elyse.
Elyse Kolker Gordon: Hi, I’m Elyse Kolker Gordon, my pronouns are she/her and I’m a Senior Director of Engineering at Strava and I am based out of San Francisco. My fun fact to share with you is that I have technically been a professional musician. I have been paid to play the drums in a concert. So yeah, and excited to be here tonight.
Camille Tate: Wow. Elise, I learned something new, that’s good to hear. Now I’ll pass it on to Tara.
Tara King-Hughes: Hello everyone. My name is Tara King-Hughes, I’m the Senior Director of Product Management, calling in from Atlanta on the east coast. I’ve been with Strava since February and it’s just been a wonderful time partnering with so many to build products and features that our athletes love. One fun fact about me, I’m a Marvel junkie, love all things action movies. So that is my thing. If I can just chill and not be focusing on fitness, it’s binge-watching a good action flick.
Camille Tate: We have that in common, Tara. Awesome. I’ll pass it to Danielle.
Danielle Guy: Hi everyone, I’m Danielle Guy, my pronouns are she/her. I am a Principal Technical Program Manager at Strava, and I joined right along with Tara in February. I am based out of Las Vegas, Nevada, the lone wolf, holding it down. A fun fact about me is that I am actually afraid of chickens. We go way back with an unhealthy relationship, but an additional fun fact is I’ve been trapped two times by chickens in a bathroom, both of them in Hawaii.
Camille Tate: Such a cool fact, Danielle. We pass it along to MacBeth.
MacBeth Watson: Okay. My name is MacBeth Watson. My pronouns are she and her and I’m based out of San Francisco. Right now my title is VP of Design. I’m a member of our senior leadership team and all that involves but I’m deeply involved in both marketing and product. And then I lead the design teams, which includes, at Strava, brand design, product design, copywriting, user research, as well as creative ops. It’s a pretty broad team that supports across the company. And then before Strava, I was at places like Pinterest, X-Box, and Starbucks. And then my fun fact or random fact is I think sprinkles are really good luck and so I pretty much put them on everything and I have an entire shelf in my kitchen for sprinkles.
Camille Tate: That’s awesome, MacBeth, thank you. I was being truthful, we do have a team of all-stars and we’re going to talk about a variety of topics that you all may have an interest in. First, we’re going to talk about working in consumer tech. So we might have a lot of people attending this event tonight that would benefit from how you all got into consumer tech. So give us a quick elevator story on getting into the industry. So, we’ll start with Shailvi and how you got into consumer tech.
Shailvi Wakhlu: Yeah. I started my career as a software engineer in Monster.com, which was a job search engine back in the day. It was one of those original dotcoms that had a Super Bowl commercial. So, really it was one of those moments. But yeah, I loved working in a place where I had impact directly on people and really enjoyed that space.
Camille Tate: Thanks, Shailvi. That’s cool. Elyse.
Elyse Kolker Gordon: I accidentally wound up in consumer tech. In college, I thought that I wanted to be a video editor, was lucky enough to have taken a few coding classes and found my way eventually to be an engineer. Worked in a consultancy at first and got to work on some really cool projects, including the first online live streaming Olympic player. Then went from there to do more video at Vevo, which does music video online, and now at Strava.
Camille Tate: Thank you. Tara.
Tara King-Hughes: Okay. For me, it started off with, I really wanted to just focus in undergrad and really focused on helping children and I got this amazing, amazing internship. I realized the system to help protect children was broken and I said, okay, maybe I can be more effective outside of the system within it. Just like with any internship, you get busy work and the busy work was working on the company’s website. Lucky for me, my mother had put me in over seven computer camps and I was like, “This is not what I want to do.”
Tara King-Hughes: But the computer camp skills actually was brought to life and then it connected me with technology and I said, okay, I’ve got to do something with this. That led me to a career in development and in development, I always wanted to connect the dots and X, Y and my boss was like, “Well, maybe you should be our dot connector.” And then that landed me in product, where I can take my love of the human mind and tech, and build consumer products.
Camille Tate: Awesome. Thank you. Danielle?
Danielle Guy: Yeah. I started my career in consumer tech also unintentionally. I was in graduating college right after the economic recession in 2010 era and it was very difficult to find an entry-level civil engineering job, which is what my degree was in. So I took an internship at a local company in Las Vegas named zappos.com. I hope some of you have heard of them, and I worked in the project management department and fell in love with the company, the culture, the role, and just continued learning on the job, went through lots of trainings, and here I am 12 years later.
Camille Tate: All right. MacBeth, how did you get into consumer tech?
MacBeth Watson: Yeah. When I graduated college from — I have a degree in visual communication and design, and so the spectrum is pretty wide. So I wasn’t sure. So what I did was I took a bunch of short-term contracts and tested the waters and figured out what was right for me, what I really enjoyed solving, what problems I enjoyed solving, and wound up at a number of different places, but the major one was Starbucks corporate working on their website and they had a label back in the day, like music label. So I got to design that website and some of those kinds of things, which was really fun. And ever since then, I’ve been in tech.
Camille Tate: Awesome. I love that because talking and hearing from all of you ladies, it just proves there’s not just one way to get into the industry, there’s multiple different paths and experiences you can have to get into our industry. So thank you. I actually want to direct a question to Shailvi and MacBeth about pointers or advice you would give on achieving a sustainable career in consumer tech. So, Shailvi?
Shailvi Wakhlu: Yeah. I feel very strongly that in consumer tech, there is a natural affinity heading towards just looking at things from a consumer’s perspective, which is great, but I always really encourage people to focus on growing their own functional expertise that extends beyond that specific use case for that specific consumer and think towards other use cases and what would be your skillset that would continue to apply in those different situations. I think that is what takes someone up and further in their career because they’re able to adapt to new psychology of the users that they’re trying to support and build out those unique use cases more effectively.
Camille Tate: Thank you. MacBeth?
MacBeth Watson: Yeah. Completely plus one to what Shailvi just said. Adaptability is really huge. I would also say that a lot of it also is that passion and drive to push yourself into places that may not be a one-to-one match. For example, for me, I went from designing webpages to that kind of like, okay, this is what I know. And then I switched to Xbox where I was designing operating systems for Xbox. And it’s like, yes, it’s similar, but it’s different enough to kind of push those other skills. I worked with a very different team. You learn your way through it, but I think it’s also being aware of when you’ve reached that point of what are the challenges that you’re facing? Are you still challenged and then pushing yourself further so, and exploring other options.
Camille Tate: Yeah. Great. Thanks for that. Next, I want to jump into the topic of how do you become great at your job. Obviously, you all are on an executive panel discussing Strava and the work that you do, you’ve been successful in your roles. I have a question for Elyse, Tara, and Danielle, in terms of, from your experience, how do you excel and become great at what you do in your respective roles? We’ll start with Elyse.
Elyse Kolker Gordon: I think from my perspective, starting as an engineer and then in leadership also, it’s being willing to seek out and say yes to opportunities that seem outside of your comfort zone and seem like maybe it’s you’re not ready, but to do it anyway. I think you’ll often surprise yourself and now working with people from a management perspective, I get to see people do that, which is really cool to see. So you can do it. You just got to put yourself out there to be able to do it.
Camille Tate: Thank you. Yeah, Tara?
Tara King-Hughes: I think always be a student because you always want to continue to learn. You don’t necessarily know at all and the great thing about technology, it always evolves, so you want to always stay ahead. Being an active listener, really sitting in and listening to the people around you because you can learn so much. I think you can gain so many insights when you just pause and open your ears. I would also say that sharpening your negotiating skills, especially if you’re in products because everybody wants everything to be number one priority and there have to be trade-offs and so you have to really learn how to negotiate that.
Tara King-Hughes: Then also sharpen your decision-making skills under fire. I would plus one what Elyse said by watching other leaders on how to best handle that with an even temperament will help you go far.
Camille Tate: Yeah. That even temperament will help you to go far. Danielle.
Danielle Guy: Yeah. Definitely remaining calm. Part of a TPM’s responsibility is to be that first line of defense with escalation for teams. When they come to you with a problem, it is best to present calmness back to them so that they can impact, have that temperament when they’re moving into their conversations to find the proper solution to whatever they have going on. Also, developing a growth mindset. Looking at challenges or failures as opportunities to grow and expand on your abilities so that it enables you to be a better partner with your colleagues so you can solve problems more effectively.
Camille Tate: Thank you, Danielle. We’re going to talk about building products. I know that’s what some people came here to talk about how we build inclusive products, but I want to interject a fun question to the panel. I did tell the ladies before we started that I probably am going to catch them off guard with the fun questions. Here it is, if you had to describe your work, what you do every day with a song, what would that song be? Elyse, I know you have one because you’re the musician on the panel.
Elyse Kolker Gordon: I mean, I like this question but I don’t know if I can come up with a song this fast.
Camille Tate: Or even the song that you listened to that gets you motivated. If you’re on a project and you crank it out and you get stuff done.
Elyse Kolker Gordon: I am totally blanking on the name but the first song on the Baby Driver movie soundtrack is very good pump up, need to get in the zone, get excited song. So that’s been my go-to for a while.
Camille Tate: Okay. Shailvi, do you have a song that you listen to or describes your work?
Shailvi Wakhlu: As soon as you said that question, the first two songs that popped into my head, I think they apply, it was, “Under Pressure” by Queen and “Delicate” by Taylor Swift. I think my work is somewhere between those two.
Camille Tate: I love that because I love Queen. Tara, quick song?
Tara King-Hughes: Like Shailvi, I do have one song by Taylor Swift but my first one is “Work That” by Mary J Blige because you always have to work it in product. And the second one is “Shake It Off” because there’s so much stuff that comes your way you just have to “Shake It Off” by Taylor Swift.
Camille Tate: Okay. Lastly, Danielle and Macbeth.
Danielle Guy: Yeah. “Under Pressure” was the first one that came to my mind, but I’d also say “Eye of the Tiger”. Coming in and seeing my list of to-do’s that I have to do and just gearing up and getting into it.
Camille Tate: Thank you. Macbeth?
MacBeth Watson: I would say there’s a song called “Confident” by Demi Lovato and you have to find it some way or another to show up every day.
Camille Tate: Yeah. Thank you for indulging me, ladies. So let’s talk about building inclusive products. What do you all think are the best strategies and pathways to building inclusive products? We can start with Tara.
Tara King-Hughes: Well, first of all, you have to take a very deep breath because it is not easy to build a framework for inclusive product and in fact, just take several deep breaths, but you have to do it because it is absolutely the right thing to do. It’s imperative to include in an inclusive lens throughout the product development life cycle. And if you don’t necessarily have all of the lenses covered, put together an advisory board to help broaden the lens. I think also too, making sure hiring diverse staff, making that a priority, will also help tremendously.
Camille Tate: Danielle?
Danielle Guy: I’d say to come up with a plan, surprising coming from the TPM, but you can’t boil the ocean and there’s a lot of dimensions with inclusivity, so we need to focus in order to make progress. So come up with all the dimensions that you want to target and then lay them out in the phase plan and then get started on the first phase.
Camille Tate: Okay, awesome. Thank you. I’m going to use that, you can’t boil the ocean. In the interest of time, I do want to ask you all some questions about change management and leaning, we’re obviously still in a global pandemic and you all are leaders at Strava. So I want to talk about how ways of work and what change management tools or techniques have you all embraced during this time. So Shailvi, do you have any tips?
Shailvi Wakhlu: Yeah. Absolutely. I think one thing that has become very, very apparent during the pandemic is that everybody’s in a different location. Everybody’s trying to collaborate across a lot of different things and documentation is something that has almost become an absolute requirement in this thing. It’s to not just make sure that you have a plan that is securely communicated, but also make sure that everybody in the team feels included in that plan. They have that transparency on what those pieces are. I think at Strava, we’ve definitely invested a lot of effort into doing that. I’d love to hand over to Danielle to maybe refer to our V2MOM progress, which was such as a fun thing that we rolled out.
Camille Tate: Yeah, Danielle.
Danielle Guy: Yes. Shailvi’s definitely singing my song on documentation and communication. We implemented a V2MOM this most recent cycle for planning and it stands for vision, values, methods, obstacles, and measures, and it actually comes from Salesforce and so we implemented it. It’s similar to OKRs, for anyone not familiar with V2MOM. With this, it allowed us to align what each team was working on across the organization. Everyone was aware, we could highlight dependencies and prerequisites early. It also allowed leadership and cross-functional partners to understand what each of the product teams were working on.
Danielle Guy: With that, we also implemented a more consistent way of documenting our work with backlogs, roadmaps, and we have a status that goes out every Monday so that everyone’s aware of what we’re working on. And I’d like to add to documentation, is to maintain focus. It’s very easy right now with most of us working from home to extend our hours and to have a difficult time in disconnecting. With our most recent cycle, the leadership team all has the same alignment on maintaining balance. We set some guard rails in place to ensure that that teams didn’t overplan them with the amount of time that they had available and that they could still balance the work and their life, along with not being burnt out.
Camille Tate: That’s awesome. That’s great. MacBeth you have anything to add?
MacBeth Watson: Yeah. Actually on a much more something that anyone can take on through is this is one of the things I found is making sure that it’s safe for people to try different approaches. We do not know how to handle this. We are still learning and so how to create an environment where people can try what works for them as well as what works for their teams and by knowing what the goals are and things like that, it really helps. But to be able to check in on that and be intentional, like going back to the office, does that work for this of meeting? Maybe not, maybe it does, things like that and trying different tools.
MacBeth Watson: You may try them for a week and walk away from them but it’s worth the effort and know that no one’s got it right. So you can definitely do it.
Camille Tate: Thanks. Macbeth. There’s a comment in the chat, psychological safety is crucial for innovation within teams. Thanks, Eilene. Yeah. So I want to talk about pivotal career moments and ask you all, this will be our last question in the interest of time, but I want to, there might be a lot of people from various backgrounds here with us tonight.
Camille Tate: I wanted to ask all of you, what are some tips you would give someone who’s at a crossroads in their career, or who wants to transition into the consumer tech industry, whether it be design or product or engineering or data. Can you talk a little bit about that? We start with Elyse.
Elyse Kolker Gordon: Yeah. I mean, I think this goes back to my how do you learn and grow answer. It is like you really leaning into the opportunities. When I was thinking about this topic in advance, I actually was thinking about — I wrote a technical book, which sounds glamorous, but I can assure you that is not a glamorous endeavor and thinking about that I did that with this vague feeling that it would open doors for me and that part was true.
Elyse Kolker Gordon: It definitely helped me move forward in my career, established me as a subject matter expert, got me more opportunities to speak. Probably has helped me with finding jobs. I think that was a very scary thing to do. I had no idea what I was doing. I’d never done it before, being an engineer doesn’t prepare you to be a book author, really. Those are not really adjacent skillsets. I think that’s a good thing to think about is like lean into that fear and being willing to try.
Camille Tate: Yeah. That’s awesome. Leaning into fear. I like that. Thanks, Elyse. Tara, you have any pointers or advice on people that may be at a crossroads or want to get into consumer tech or product engineering, design, program management?
Tara King-Hughes: The only thing that I’d add to what Elyse just said, is just network. So if you see someone out, maybe on LinkedIn, who is in an area that you’re interested in, reach out to them and see if they would mentor you or just have one or two Q and A sessions. There are so many resources out there, free resources that can help you learn and hone in on your craft, and don’t be so hard on yourself, it’s consumer tech, it’s not rocket science, you will definitely get where you want to go.
Camille Tate: Thank you. Danielle?
Danielle Guy: Yeah. Plus one to all of that, for sure, and in addition, I’d like to add, look inside, find what makes you happy, what brings you joy. And don’t be afraid to prioritize yourself. When you look into your next adventure, your next company and role, make sure that your values and beliefs align with whatever company that you’re looking at or whatever role you’re looking at. I think that’ll take everyone very far if they do that.
Camille Tate: Yeah. That’s great advice, Macbeth and then Shailvi.
MacBeth Watson: I think one of the things I have used between each of my big things is recognizing that the skills I have connect to the skills I want to learn and really focusing on what are those things that I want to learn and how do they connect. If it’s a different industry, if it’s a different space. Even if you’re a coach, you could be an amazing manager in a tech company. There’s so many ways to transverse across skills and how they apply into a tech industry that it’s actually just thinking through some of those kinds of things or having the conversations with some the other women have mentioned.
Camille Tate: Okay. Shailvi.
Shailvi Wakhlu: Yeah. Plus one to all of those wonderful thoughts. I think for me, when I think about it, I think of getting comfortable advocating for yourself is so important. I think it’s the best skill that you can learn. I think it’s the best investment that you can make in your career. If you prioritize looking for places that treat you with respect, that provide you a good learning environment and that really have respect for what you bring to the table. So I’d say, go out there and look for those opportunities. As Tara also mentioned, get the help that you need, find those mentors and move forward.
Camille Tate: Thank you so much. Thank you to the panel and I wouldn’t be head of talent at Strava if I didn’t mention that we are hiring, you can go to our website www.strava.com/careers and take a look at what we have to offer. Thank you to Girl Geek for this partnership again, and I’ll transition it back to Angie.
Angie Chang: Thank you. That was awesome. Thank you all so much for speaking on this panel, to all the Girl Geeks who gave lightning talks, those were all really great. These will all be hosted on YouTube later, so you can check them out if you missed them they’ll be emailed to everyone who signed up. So keep an eye out for that.
Angie Chang: The jobs that Camille mentioned, they’re all in the emails from Zoom. We’ll send out another email with the survey and thank you all again for joining for the Strava Girl Geek Dinner in the middle of a pandemic, it is still ongoing, and hopefully one day we’ll see you again soon in person!
Like what you see here? Our mission-aligned Girl Geek X partners are hiring!
- See open jobs at Strava and check out open jobs at our trusted partner companies.
- Does your company want to sponsor a virtual Girl Geek X event in 2021? Talk to us!