C++ Engineer, Map Rendering Engine, Android/iOS
About This Role
Strava is the leading subscription platform at the center of connected fitness, with more than 135 million community members in over 190 countries. The platform offers a holistic view of your active lifestyle, no matter where you live, which sport you love and/or what device you use. Everyone belongs on Strava when they are pursuing an active life.
Our engineering organization is looking for a motivated C++ software engineer (f/m/d) with focus on Mobile and API bindings to strengthen our Map Rendering Engine (MRE) team within our Map Platform organization. This is an opportunity to be part of a team that is focused on developing rich and immersive map experiences that help our users plan, navigate and relive their activities.
You will work closely with our cross-functional product teams to ensure our technology is able to address real athlete problems while being reliable and performant.
We'd love to talk to you about the future of Strava’s core technologies and your role in developing them. For more on Strava’s engineering team check out the Engineering Blog. It covers a wide range of topics, from how we rebuilt our leaderboard systems to personal perspectives on what it’s like to be an engineer at Strava.
This role will be based in our Berlin office with a hybrid in-office work requirement of at least 3 days per week.
A 3D map in (y)our hands
Strava has the best tools for terrain analysis combined with the content discovery that users expect from a modern mapping product. To keep the Strava experience ahead of competing products, we are constantly pushing our technology to the next level.
The team is developing a specialized and highly optimized mapping and terrain rendering engine that has to download and display data globally. We use C++ for the engine to achieve the necessary performance and resource management level when integrated into our product. The engine empowers our mobile applications to show global data, seamlessly display custom content, and manipulate the map.
There will always be challenges when displaying an immersive and responsive 3D experience under mobile hardware and energy constraints. We are looking for people who are excited to face these challenges.
You’re excited about this opportunity because you will:
- Involved in the full development cycle of the Map Rendering Engine, focusing on compatibility with either the Android or iOS platform.
- Be responsible for a great developer experience for Strava’s Android/iOS Engineers integrating the Map Rendering Engine on their platform.
- Support a team of engineers, designers, product managers, and analysts to build out Strava’s client experience.
- Contribute to the evolution of Strava’s technology landscape in map rendering, contributing to the adoption of advanced technologies and practices.
- Effectively communicate with other teams about cross-stack requirements on APIs, Services integration, data exchange formats, and more.
- Take personal responsibility for functional and non-functional quality aspects of the code.
- Debug and resolve errors and respond swiftly to user feedback and engineering metrics.
You will be successful here by:
- Writing and documenting library/framework/engine APIs running on multiple platforms, focused on Android.
- Designing, developing, releasing, and maintaining the Map Rendering Engine.
- Working closely with teams consuming the MRE functionality in Strava clients.
- Champion technical excellence within your work and the work of the team.
- Be willing to explore and learn new technologies outside of your comfort zone.
Additional Qualifications That Will Strengthen Your Application:
- Experience writing memory and performance-optimized code, f. e. writing game engines or implementing complex algorithms
- Pooling
- Strong attention to detail & Task scheduling
- Multithreading (performant file reading)
- Client networking (HTTP)
- Understanding of spatial and graphics algorithms and software design patterns
- Cross platform projects (CMake)
- Well-informed opinions and practice regarding code quality, testing, pair-programming, linting, type safety and code review.
- Expertise in crafting and documenting great APIs and System design.
- Other languages in particular due to the focus on Mobile Kotlin and Java on Android, Objective-C and Swift on iOS
- CI, testing, automation - all part of our day-to-day job
- Interest in being active, in the outdoors or a love for mapping. People at Strava often share a passion for one or all of these things.
We’re excited about you because you:
- Bring 4 years of professional experience with you.
- Have experience in building out APIs and platform-specific bindings
- You bring subject matter expertise on one or more mobile platforms.
- Have a product-focused mindset. Our team works together to deliver projects that use technology to tackle real business problems.
- Have experience building maintainable and testable code bases, including API design and unit testing techniques.
- Have proven, language-agnostic engineering skills.
Compensation Overview
At Strava, we know our employees are the most important ingredient to our success, and our compensation and total rewards programs reflect that. We take a market-based approach to pay, and pay may vary depending on the department and your location. Salary ranges are categorized into one of three tiers based on a cost of labor index for that geographic area. We will determine the candidate’s starting pay based on job-related skills, experience, qualifications, work location, and market conditions. We may modify these ranges in the future. For more information, please contact your talent partner.
Compensation: €90,000 - €120,000 The base salary posted is within the compensation range for this role. This range reflects base pay only and does not include, equity, or benefits. Your recruiter can share more about the specific salary range for your location during the hiring process.
For more information on benefits, please click here.
About Strava
Strava is Swedish for “strive,” which epitomizes who we are and what we do. We’re a passionate and committed team, unified by our mission to connect athletes to what motivates them and help them find their personal best. With billions of activity uploads from all over the world, we have a humbling and adventurous vision: to be the record of the world’s athletic activities and the technology that makes every effort count.
Strava builds software that makes the best part of our athletes’ days even better. Just as we’re deeply committed to unlocking their potential, we’re dedicated to providing a world-class, inclusive workplace where our employees can grow and thrive, too. We’re backed by Sequoia Capital, TCV, Madrone Partners and Jackson Square Ventures, and we’re expanding in order to exceed the needs of our growing community of global athletes. Our culture reflects our community. We are continuously striving to hire and engage diverse teammates from all backgrounds, experiences and perspectives because we know we are a stronger team together.
Despite challenges in the world around us, we are continuing to grow camaraderie and positivity within our culture, and we are unified in our commitment to becoming an antiracist company. We are differentiated by our truly people-first approach, our compassionate leadership, and our belief that we can bring joy and inspiration to athletes’ lives — now more than ever. All to say, it’s a great time to join Strava!
Strava is an equal opportunity employer. In keeping with the values of Strava, we make all employment decisions including hiring, evaluation, termination, promotional and training opportunities, without regard to race, religion, color, sex, age, national origin, ancestry, sexual orientation, physical handicap, mental disability, medical condition, disability, gender or identity or expression, pregnancy or pregnancy-related condition, marital status, height and/or weight.
We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.
Apply for this job
*
indicates a required field