Software Engineer - System Scheduling Performance
San Diego, California, United States
Software and Services
Are you excited by the thought of making your battery last longer or your apps launch faster?
Handling resource consumption and contention is a key differentiator for Apple products and the System Scheduling Performance team focuses on solving these key resource tradeoff problems. The team develops technologies to intelligently schedule workloads in optimal device conditions to balance feature responsiveness with constraints such as battery life, thermals, network efficiency, memory, and more. This technology is at the foundation of features like Background App Refresh, Exposure Notifications, iCloud Photo Library, and many more!
The team is looking for innovative candidates to design and implement new capabilities to manage process runtime and resource utilization across our diverse product lines. In this highly visible role, you will be driving the development of a scalable architecture for resource management, as well as influencing and assist cross-functional teams with the adoption of these new operating system concepts. Through the combination of data and performance analysis, software prototyping, and systems engineering, you will push the boundary of what's possible at the core of the operating system!
Key Qualifications
- Strong programming background
- Foundational understanding of operating system components and responsibilities
- Ability to deliver high quality work on tight schedules consistently
- Professional and collaborative with outstanding communication and presentation skills
- Familiarity with statistics, data analysis, or machine learning and the enthusiasm to learn more
Description
Design, implement, optimize, and evangelize new operating system constructs to enable intelligent resource management
Analyze, understand, and present key performance data for highly-visible OS features
Write elegant, performant code in Objective-C or Swift and test, debug, and productize it
Rapidly prototype new ideas and features in collaboration with others
Consult with and influence other teams to drive adoption of new APIs
Education & Experience
Bachelor, Master degree or equivalent experience in computer science or a related field