Early Silicon 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. You will have the opportunity to work on core technology and make a major impact in the way that Apple develops and ships Mac products. Our environment champions product innovation, rapid product iteration, and a liberating amount of autonomy. We are looking for detail oriented engineers with a passion for quality who want to define and build future Mac systems.
- Working knowledge of processor architecture & micro-architecture (ARM preferred)
- Proven experience in hands-on development and troubleshooting of boot-loaders, mask ROM on embedded targets
- Solid programming experience in C or C++. Understanding of ARM assembly.
- Previous experience writing embedded device drivers
- Previous experience with platform bring-up or porting of operating systems
- Previous experience with hardware and processor simulation and emulation environments
- Understanding of clock trees, bus/fabric interconnects, and advanced peripherals such as PCIe, USB
- Understanding of on-chip debug and trace facilities. Exposure to hardware logic analyzers, oscilloscopes is a plus.
- Demonstrated creative, critical thinking and troubleshooting skills
- Highly professional, with the ability to deliver solid 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. You will work on a large spectrum of issues ranging from hardware/silicon issues to overall system operation, performance and power management.
Education & Experience
BS or MS in Computer Engineering or Computer Science or equivalent experience/skills
- 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.