iOS Performance Engineer
Santa Clara Valley (Cupertino), California, United States
Why Apple? We live in a mobile and device driven world where knowledge of the physical world around us is needed. We rely on this knowledge to get around, to learn about our environment and to enable spectacular new features for custom applications. Apple is meeting those needs as robustly and as creatively as possible and is interested in people who want to help meet that commitment. The success we are striving will be the result of very skilled people working in an environment which cultivates creativity, partnership, and thinking of old problems in new ways. If that sounds like the kind of environment that you find intriguing, then let's talk. The Performance team is looking to take iOS to the next level. This is a terrific position for an engineer interested in solving challenging problems involving modeling & visualizing details of iOS/macOS/watchOS systems in novel ways and exposing system behavior with the goal of enabling all of Software Engineering to effectively solve multi-functional performance issues. Engineering excellence is inspired. Will you help us design the next generation of revolutionary Apple products?
- Excellent software engineering experience in multiple areas, or other experience pointing to success as a generalist
- Excellent command of C
- Excellent communication skills, both oral and written. Excellent teamwork skills
- Strong organizational and leadership skills
- Make a difference in Apple’s operating systems and new iOS by collaborating with hardware teams and software teams across the stack from EFI and kernel to applications - This position will require engaging with other engineering teams to gain a deep understanding of problem domains when developing features - In this role, you will analyze performance of iOS with an emphasis on areas heavily affected by upcoming hardware decisions like boot, wake, and graphics. - Evangelize best practices and pursue improvements
Education & Experience
CS degree or equivalent experience
- • Assembly experience with one or more ISAs, ideally ARM or x86.
- • Some knowledge of computer hardware or processor design.
- • Some experience with performance (speed or memory usage) or battery life optimizations and tools.