Senior Software Engineer, Location-based Intelligence
Santa Clara Valley (Cupertino), California, United States
Software and Services
Our mission is to personalize the user experience on Apple devices based on where you go, when, and what those places mean to you. You’re experiencing our work whenever you see a suggested location in Maps or Calendar, or browse your Memories in Photos. We’re working for you whenever your phone engages Do Not Disturb While Driving or remembers where you parked. We’re looking for motivated, experienced technical leaders to help take our software to the next level of capability, quality, and impact. Do you have a background in GPS, WiFi location, or embedded sensing, and are looking to move up the stack? Do you know recommendation engines, and want to apply that experience to a deeply impactful and broadly applicable domain? Are you excited by the optimization problem of providing rich contextual intelligence within a constrained resource footprint? If any of these describe you, read on.
- Real passion for the location domain. We believe that mobility is transformative, and that to realize that transformation, your devices need to understand the places you go and what they mean to you. That’s what we do. If you have experience in location estimation—GPS/GNSS, WiFi positioning, indoor localization, or discrete localization—we're especially eager to speak with you.
- 5+ years experience developing commercial software. Most of the code you write will run on mobile devices, in the hands of hundreds of millions of Apple customers. We use Objective-C, but if you know C, modern C++, or Swift, you shouldn’t have a problem.
- A working knowledge of statistics fundamentals. Your code will make estimates, identify patterns, and quantify how strong they are. You should be comfortable using histograms, basic probability, and Bayes’s Theorem. If you have a background in signal processing, data science, or machine learning, that's even better.
- An ability to evaluate and optimize for system performance: memory, CPU, radios, etc. Our software needs to provide a high level of service while sipping power. We think this is a really exciting challenge. If it sounds frustrating to you, this isn’t the right position.
- A proven track record working effectively across teams. One of the cool things about Apple is how much you will work with people who have different expertise and responsibilities than you: apps, sensors, connectivity, and others. You’ll need to communicate clearly, plan collaboratively, execute flexibly, and cope with what will sometimes feel like a high degree of uncertainty.
- Experience processing real-world data at scale, server-side. Not every candidate will have experience with Spark, Hadoop, or NoSQL data stores, but the best ones will.
In this job, you’ll develop the next frontier of mobile technology, in partnership with teams in sensing, Siri, and apps. Hungry for the responsibility to work on complex problems from end to end? In this position, you will: - Conceptualize, explore, and define new inferential and predictive location- and motion-based capabilities for Apple's platforms. - Collect, curate, and analyze real-world data sets of varying size and complexity. - Aggregate, filter, and cluster data on mobile devices, from a variety of local sensors: GPS, WiFi, accelerometer, and others. - Design and implement algorithms, then integrate them into production code. - Test your work. Dog-food it. Collect metrics, and iterate. Don’t forget to sweat the edge cases—an issue that impacts 1% of a billion devices is a big issue. A dedication to users’ privacy and security is core to how Apple does business. We want their devices to exhibit the high level of intelligence and proactivity that can only come from deep contextual understanding. We don’t want their sensitive data coming back to Apple or being exposed to third parties. Other companies solve similar problems in very different ways. Our way is more work. We believe it’s worth it.
Education & Experience
BS, MS, or PhD in Computer Science, Computer Engineering, or a similar field