Mapbox is all about precise location data and powerful developer tools to change the way we navigate the world. Our services are at the heart of our customers' businesses, be it BMW, Porsche, Toyota/Lexus, Rivian, GM, DPD, Doordash, Instacart, The Weather Channel, Strava or in total more than two million developers worldwide serving over 600 million users monthly. We provide powerful routing engines, accurate, traffic-powered travel times, and intuitive turn-by-turn directions to help our customers build engaging navigation experiences. We give designers control over everything from colors and fonts, to 3D features and camera angles, to the pitch of the map as a car enters a turn. Our APIs, SDKs, and live updating map data give developers tools to build better mapping, navigation, and search experiences across platforms.
What We Do
Search has a lot of challenging areas for engineers to explore and grow. Moreover, Mapbox search is about location and it can be highly adjustable to the end-user use cases, like navigation routable points, along the route search, limited connectivity search, etc. We focus our efforts on relevance, geo-context optimisations, data conflation, merging offline and online solutions and measuring all of that with high-volume user feedback. Search is the key component of our solutions. Every route and every delivery starts with a search.
Get familiar with our search service first-hand: https://www.mapbox.com/search-service
Or do the searching in the playground and find room for improvement: https://docs.mapbox.com/playground/geocoding/
What You’ll Do
Search interacts with many internal systems at Mapbox, making this a high-visibility team with great opportunities to collaborate across the company. As a Senior C++ Engineer, you'll be responsible for designing, developing, and operating significant areas of our search services. We will start with making our offline/pre-cached search engine production ready and scalable to support faster updates, lower bandwidth usage, a growing number of language rules, and predictive caching algorithms to make our customers’ experience as smooth as possible.
In this role, you can expect to:
- Write algorithms in C++ and (as you gain expertise) in Rust to build the best location search on the market, grow you search-specific knowledge and tech stack;
- Be on the cutting edge of a brand new search engine with the infinite ability to experiment and improve without being held back by the old ways;
- Design and implement scalable services for our API and search engines, following and establishing best practices for deployment, resilience, and observability;
- Participate in end-to-end feature implementation within the larger search organization; review code and design documents, shepherd feature releases, and participate in an on-call rotation;
- Evaluate the quality, reliability, and capacity requirements of our user-facing search products and become a well-rounded owner of what you deliver;
- Work with product owners, sales engineering, and management to drive future product direction.
What We Believe are Important Traits for This Role
- Strong proficiency in C++ with 4+ years of experience and fair knowledge of the language specification, C++14/17 standard is appreciated;
- System architecture experience and understanding of architectural concepts;
- Knowing algorithms and data structures, ability to improve the service based on data analysis and performance profiling;
- Being excellent team player with the ability to work within a collaborative environment;
- Enthusiasm for learning and knowledge sharing, supported by mentorship experience and strong communication skills in English;
- Passion about programming and having a strong focus on performance aspects;
- Strong knowledge of the standard libraries;
- Implementation of automated testing platforms and unit tests;
- Proficient understanding of code versioning tools such as Git;
- Knowledge of writing a cross-platform code is appreciated.
What Would be a Huge Advantage to Have
- Experience engineering web services in at least one backend language, e.g. Node.js, Rust, Go, or Java;
- Experience building highly-available API services within container-based environments (e.g., Docker, ECS, Kubernetes, etc. on AWS);
- Proficiency implementing monitoring instrumentation, operational diagnostics, resolving customer issues, and continuous product improvement;
- Knowledge of operating systems and distributed systems (e.g., fault-tolerance, consistency, service discovery, etc.);
- A high-level understanding of mobile SDK development (iOS or Android).
What We Value
In addition to our core values, which are not unique to this position and are necessary for Mapbox leaders:
- We value high-performing creative individuals who dig into problems and opportunities.
- We believe in individuals being their whole selves at work. We commit to this through supportive health care, parental leave, flexibility for the things that come up in life, and innovating on how we think about supporting our people.
- We emphasize an environment of teaching and learning to equip employees with the tools needed to be successful in their function and the company.
- We strongly believe in the value of growing a diverse team and encourage people of all backgrounds, genders, ethnicities, abilities, and sexual orientations to apply.