Backend Software Engineer - Mapping

Posted May 9

The Opportunity

Maps, routing (finding optimal paths between two points), and elevation services are critical technologies to Ride with GPS, and represent a distinct area of development. We both maintain forks of existing open source Open Street Map related technologies, as well as custom mapping solutions of our own design. Come work on the team that is responsible for the core technologies powering our route planners and search! We work with lots of interesting data, and we make pragmatic decisions about developing custom solutions vs extending existing technologies. This is a low overhead, highly independent small team.

The right candidate possesses a senior level of experience and skills with performance oriented code in a variety of languages. We are language agnostic, and we prioritize the right mindset over previous experience with languages we use. Existing experience with open source map tooling is a strong plus but not required. Some of the projects we are proud of: Heatmapper, a highly threaded and performant building pipeline that takes huge amounts of track data, and compiles the tracks into tiles for on-the-fly rendering of heatmaps. It also includes a rendering server which takes these tiles and turns them into normalized, beautiful heatmaps that are overlaid on other maps we use. View an example here: https://ridewithgps.com/heatmap . Additionally, we have a highly efficient storage format for our geospatial data, written in rust. We decided to use a custom format because it allowed us to use a few different tricks to optimize both the storage size and processing speed of all our geospatial data.

The role involves maintaining and improving our existing services, but also developing new services that aim to determine the most interesting places to ride. Some of this is custom code, some of this is extending existing code. For example, we maintain a fork of an open source vector mapping library written in Java called Planetiler. We customize the data in the generated vector tiles, and then customize styling using Maputnik. This allows us to self-host our own vector tiles, and to control the rendering of those tiles by, for example, adding custom surface type data into the generated tiles.

Over the next year we are using our large library of data to find the interesting sections of road people gravitate to. This will involve combining large amounts of track data, photos with geolocations, and points of interests from our route planner as well as OSM datasets, to determine what the interesting sections of any given planned route are. When you find a route on our service, often half or more of that route is uninteresting, but there are often a few really interesting sections that make the entire thing worth it. Help us identify this data, and build it into our products!

Technology that we regularly use:

  • Open Street Map Data
  • Planetiler, a vector map rendering engine for OSM data
  • GraphHopper, a route solving engine for OSM data
  • Java (working with existing systems like Graphhopper, Planetiler)
  • Ruby
  • Python
  • Rust
  • Linux & Docker, for deployment

About Us

The Company

Ride with GPS has been a founder-led company since 2007, continuously focused on one simple mission: To inspire you to go on better rides, more often. Over the years we have developed a full-featured web and mobile product that’s all about bike routes — planning, discovering, navigating, sharing, and much more. We have deep ties to the world of bikes and feel a responsibility to continue innovating and showing people what’s possible when you combine passion, expertise, and humility.

Our website is used to plan bike routes and events, manage bike clubs, analyze ride data, and publish great rides. Our companion app is a bike computer, route navigator, and ride recorder. Within the cycling world, we serve weekend riders, clubs, event organizers, tour operators, and racers. We are committed to not running any ads on the site or in the app, and are able to maintain a singular focus on serving cyclists.

Our business is bootstrapped, profitable, and growing.

The Team

We are cyclists. We are explorers. We are artists. We are writers. We are parents. We are friends. We are a group of people with diverse interests who lead healthy, balanced lives and are all very passionate about what we do. By joining Ride with GPS, you will become a part of a team that helps millions of people have a great time on their bikes.

Benefits

We offer a competitive salary as well as health, dental and vision insurance, and a 401k with a 10% match. We strongly believe in testing our own software, and as a result are more than happy to help defray some of the costs of cycling, including offering a one-time new bicycle stipend as well as an annual bike supply budget.

Ride with GPS is working remotely and offers a generous stipend for setting up a home office. We have an office in Portland, OR that staff is welcome to use as desired.

How to Apply

Email careers@ridewithgps.com with your resume, your portfolio, and a cover letter that includes an overview of any work relevant to the position. If you have a personal connection to bikes, we’d love to hear about this as well. We'll respond in a timely manner and move things forward for promising candidates.

Ride with GPS is committed to providing an inclusive and welcoming workplace for all members of our staff. We believe having a diverse team makes our product and our company better, and we are working to ensure our reality reflects those ideals. We invite applicants of any race, gender, sexual orientation, age, physical ability or limitation, religion, or background to apply.

Don't tick off every single box with qualifications, but still think you’d be a good fit for this position? Great, pitch us! We encourage you to apply and explain the experience you’d bring to the table.