Mac Platform Software Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group ensuring the OS is inseparable from each device’s identity as a whole. That’s because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you’ll continue to uphold and advance the excellence people expect from Apple devices. The Mac Platform Software Team is seeking a strong self-motivated Software Engineer to help with the development of the next generation of Apple Mac systems. We are looking for engineers with unusual problem solving skills who can work in a fast-paced environment and solve complex technical issues.
- Technical expertise in any one or more of the CPU architectures - Intel/AMD/ARM
- Proven programming experience in C or C++
- Good working knowledge in scripting languages (e.g., Python, Perl)
- Experience in kernel and device driver development and debugging
- Prior experience with platform bring-up or porting of operating systems
- Understanding protocols such as PCIe, SATA, I2C, USB, JEDEC DDR and SMBUS
- Strong debugging skills - either using SW or with HW tools
- Demonstrated creative, critical thinking and troubleshooting skills and a real passion for quality
- Excellent multi-functional collaborative skills especially with silicon design, validation and board design engineers.
- Ability to deliver proven work on tight schedules
- Excellent written and verbal communication
You will play a central role in developing future Macs. This will include work in system software, device drivers, firmware, and overall system architecture. Responsibilities include design, implementation, and troubleshooting of both hardware and software to achieve product specifications. Triage issues to identify and solve critical product blockers. Balance performance with energy efficiency in a highly constrained system environment. Work with factory and operations teams to support prototype product builds and drive yield into production. Craft future requirements to build innovative new products.
Education & Experience
Master’s (preferred) or Bachelor’s degree or equivalent experience in computer science or a related field
- Experience in developing UEFI firmware (EDK/EDKII)
- Knowledge in x86 power sequencing and power management
- Understanding of x86/ARM assembly is a plus
- Experience in ASIC debugging
- Familiarity of usage of HW tools such as logic analyzers & oscilloscopes