Summary
Posted: Jun 5, 2020
Weekly Hours: 40
Role Number: 200167436
The Mac Platform Team within Apple's CoreOS organization is looking for a talented embedded software engineer to help with pre-silicon simulation, early silicon support and development of the boot firmware and software for future generations of Macs. Working on a core technology, you have the opportunity to make a major impact in the way that Apple develops and ships Mac products. Our environment fosters product innovation, rapid product iteration, and a liberating amount of autonomy. Weʼre looking for detail-oriented engineers with exceptional problem-solving skills and a passion for quality who want to define and build future Mac systems.
Want more jobs like this?
Get jobs in Cupertino, CA delivered to your inbox every week.
Key Qualifications
- A genuine passion for embedded development
- Highly proficient in C/C++. Understanding of ARM assembly is a plus
- Extensive knowledge of hardware platforms & processor architectures
- Previous exposure to hardware and processor simulation
- Solid experience in hands-on development and troubleshooting of boot-loaders, mask ROM on embedded targets
- Previous experience with platform bring-up or porting of operating systems
- Previous experience writing embedded device drivers
- Previous experience with JTAG and other debuggers
- Proven creative, critical thinking and troubleshooting skills
- Highly professional, with the ability to deliver proven work on tight schedules
- Excellent collaborative skills especially with silicon design, validation, and board design engineers
- Outstanding written and verbal communication
Description
You will play a central role in building the support for early Mac system development during the pre-silicon and early silicon phases, including involvement in specification review for hardware platforms, work in system simulation technologies, boot firmware, low-level device drivers, and new system bring up. Work closely with internal and external teams to enable firmware development long before first hardware availability. Design and implement software and firmware, and perform system-level debug of hardware, silicon, and software. The successful candidate should be comfortable working on a large spectrum of issues ranging from hardware/silicon issues to overall system operation, performance and power management.
Education & Experience
Bachelor's degree in CS, CE, EE or equivalent industry experience required
Additional Requirements
- Experience with common embedded SOC architectures
- x86 bring-up/validation experience is a huge plus
- Knowledge of high speed interfaces (e.g., PCIe, memory)
- Knowledge of CPU and device power management
- OS kernel/ userland experience (including threading and memory management)
- Ability to understand board schematics
- Familiarity with UEFI is a plus
- A working knowledge of various scripting languages: Perl,Python, Bash Shell* and Make is a plus.