Software Engineer, Location-based Intelligence Performance
Santa Clara Valley (Cupertino), California, United States
Software and Services
Our team’s 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 engineers to help take our software to the next level of capability, quality, and impact.
- 3-5+ years of software development experience
- Experience with performance tools measuring cpu, I/O, memory, power
- Excellent programming skills in C/C++/Objective-C
- Excellent scripting skills in Python
- Experience developing and debugging concurrent systems
- Excellent knowledge of data structures, design patterns and software engineering principles
- Strong background in testing including requirement gathering, test planning, test case implementation, reporting on test results and qualifying features
- Strong OS & Systems fundamentals
- Highly motivated and focused
- Attention to detail, data accuracy and quality of output.
- Excellent judgment and integrity with the ability to make timely and sound decisions
- Excellent interpersonal skills
The team is a unique combination of client-side development, machine learning algorithms and model development, as well as server backend components. This position will focus on client-side feature evaluation, with respect to correctness and performance. You will be responsible for defining the metrics of success, collecting data, processing results, and iterating until perfection is found. Job responsibilities include (not limited to): - Design and develop tools, processes and analytics for performance evaluation of our newest features - Collaborate with other engineers on code reviews, internal infrastructure, and process enhancements - Propose improvements to existing triage pipeline - Develop test automation frameworks and tools to ensure high quality of work. - Improve existing system’s performance, reliability, scalability and resilience.
Education & Experience
BS/MS in CS or equivalent experience