Senior Software Engineer - Maps Services
Santa Clara Valley (Cupertino), California, United States
Software and Services
We have an opportunity for a Software Engineer to help us build the next generation of rich, dynamic, interactive services that will power Apple Maps for all of our existing and soon to be released devices. If you have a strong engineering background and want to work with large scale distributed systems this is the opportunity for you.
- You have solid experience in a production environment.
- You're an expert in designing, building and deploying large-scale distributed systems.
- You possess excellent communication skills – you'll be working cross-functionally across multiple teams and organizations, as well as with external vendors.
- You're well versed in object-oriented and / or functional languages (e.g. Java, Scala) (C++ exposure a plus but not required) and one or more scripting languages (e.g. Python, Ruby).
- You are passionate about building web services and reusable software components: how they're used, how they scale, how they fit together and how they break.
- Knowledge of HTTP, JSON, Protobuf, REST.
- Experience diagnosing and debugging complex systems.
- You focus on quality, with experience writing unit tests, developing test plans and working with evaluation teams. The desire to utilize your past experiences to contribute to our strong team dynamic.
The Maps Infrastructure team is tasked with developing robust, intuitive and scalable APIs to Maps data and services that can handle hundred of thousands of requests per second. These APIs support a wide range of clients including the Maps app on iOS and macOS, web applications as well as server backends. You will contribute to the services underlying the most important aspects of the Maps ecosystem. API's are the face of the system and given Apple’s ecosystems, last “forever”. As such, designing and developing APIs at scale takes a certain mindset and a level of experience to appreciate the work involved in rolling out a well-designed piece of critical software. We develop our services primarily in Java and C++. The skills we are looking for are an appreciation for good design, the ability to work across teams. We have big plans and we want engineers and leaders that can design and build clean, scalable, and performant data services, as well as help trace, monitor, and debug data as it proceeds through a complex pipeline. In addition to being the API gateway to all Apple Maps services, the team responsible for the AB infrastructure behind Maps and is a key part of our ability roll out features successfully, as well as the RESTful APIs and infrastructure behind the recently released MapKit JS developer program.
Education & Experience
Technical BS/MS or relevant industry experience.