Algorithm Engineer - Maps Routing Team

Santa Clara Valley (Cupertino), California, United States
Software and Services


Weekly Hours: 40
Role Number:200156644
Apple Maps provides users with driving, walking, and public transit solutions. Our Routing Team is responsible for building Apple’s routing engine, which empowers users to get to their destinations as quickly and safely as possible! We do this by developing state of the art algorithms and features, constantly updating and improving the navigation and travel experiences for our users! If you want to develop graph algorithms by accessing large data-sets, and you understand the importance of a rich, accurate, and timely user experience, this may be a role for you.

Key Qualifications

  • You have deep understanding of graph algorithms and data structure design
  • You have practical experience of making an algorithm perform expertly upon implementation
  • Ability to write strong performance code, preferably C++
  • You value a scientific approach to problem solving, using experimentation and critical thinking to drive and validate high quality results
  • Positive interpersonal and communication skills, possessing the ability to work both independently and in a team environment


As a member of our team, you would contribute directly to our users by providing routing recommendations in addition to being responsible for the optimization and precision of your solutions. On our team, you will use advanced graphing algorithms and pair them with large amounts of rich data to formulate a host of navigation solutions across multiple platforms, including iPhone, iPad, iMac, CarPlay, Watch, and other web app services. We have a modern development process, analyzing our initial algorithms, implementing and experimenting as we go, adjusting and optimizing our solutions to ultimately provide the best routing experience. Whether it is for driving, walking, or transit, our users rely on us to help get them to where they need to go. As an algorithm engineer on our Maps Routing Team, your responsibilities will include: Making route-finding algorithms more efficient Crafting and implementing new algorithms Working on high performance code using C++ Participating in design and code reviews Owning the efficiency and accuracy of your designs, along with being on-point handling your work through the development and implementation life-cycles, ultimately delivering excellent end-results Working with other specialists and teams multi-functionally to deliver high quality routes to our customers Influencing the future product direction for our features Assist with various team and system support needs such as pager-support for periodic 24/7 on-call duties, video calls, or other project needs.

Education & Experience

MS or PhD in computer science, mathematics, or related fields with emphasis on algorithm design and implementation We will consider students who are just finishing up their credentials for this full-time role

Additional Requirements

  • For this role, the following skills would be a plus, but are not necessary.
  • Maps, routing, navigation, or geometrical computation experience