Mac Embedded Bring-Up 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 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.
- 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
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
Master’s (preferred) or Bachelor’s degree or equivalent experience in Computer Engineering or Computer Science or a related field.
- 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.