Apple's System Firmware and Diagnostics team is looking for an Embedded software engineer to design and develop firmware and drivers for common firmware interfaces, chipsets, communications protocols and various SoC IPs, and implement features to support hardware testing and diagnosis of Apples’s devices.
Requirements
- Proficiency in C/C++
- embedded software experience is preferred
- Experience developing low level drivers
- Understanding and experience with ARM platform and architecture/instruction set
- Experience with one or more of the standard hardware protocols (USB, UART, SPI, I2C, I2S, PCIe, MIPI, LPDP)
- Experience with debuggers such as gdb, lid, etc.
- Familiarity with scopes and logic analyzers
- Able to comprehend hardware specs and schematics
- Experience with embedded operating systems for consumer electronic devices
- Familiarity with some form of scripting (Lua, Python)
Responsibilities
- develop firmware and drivers for common firmware interfaces, chipsets, communications protocols and various SoC IPs
- implement features to support hardware testing and diagnosis of Apples’s devices
- helping with new technology exploration and proof of concept development
- work closely with various teams, like EE, Systems Engineering, Software Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations
Other
- individual contributor role
- highly multi-functional role
- The environment is dynamic, fast-paced and requires a go-getter demeanor.
- The international travel requirement is 10-20% (flexible and product dependent).
- Excellent written and verbal communication skills.