Apple HID Firmware Engineer in Santa Clara Valley, California

HID Firmware Engineer

Job Number: 53818606

Santa Clara Valley, California, United States

Posted: Dec. 1, 2016

Weekly Hours: 40.00

Job Summary

Come join a team of creative, energetic, and enthusiastic firmware engineers responsible for next-generation Human Interface Devices for iPhone, iPad, Apple Watch, and Mac. We are looking for talented individuals who enjoy creating firmware for microcontrollers and embedded processors, prototyping concepts, investigating new technologies, and ultimately delivering high-quality products. In this role, you will be at the focal point of many cross-functional interactions with the hardware, software, and QA teams.

Key Qualifications

  • C or C++ for embedded systems

  • Experience interfacing microcontrollers with analog and digital sensors

  • Working knowledge of one or more communication protocols ( e.g. USB, Bluetooth, UART, SPI, I2C )

  • Experience implementing firmware in bare-metal or RTOS environments

  • Demonstrated capability in applying software best-practices to firmware designs

  • Solid board bring-up and debug skills

  • Strong communication and teamwork skills


As a HID firmware engineer working on many of Apple's embedded input devices ( touchscreens, trackpads, keyboards, mice, cameras, health sensors, etc ), you will be expected to:

• bring up new sensing chipsets and processors from initial specification to production

• quickly debug and effectively close out cross-functional system issues related to your firmware

• architect, implement, and maintain complex firmware designs

• write clean, easy to understand, robust, and sustainable code tailored for embedded systems

• negotiate, specify and document communication protocols, system states, and FW/SW feature requirements with the SW team

• help select microcontrollers, define power management strategies, and review schematics with the HW team

• interface with the QA teams to inform and shape their white-box testing



Additional Requirements

Experience with one or more microcontroller cores ( ARM, AVR, MSP430, PIC, M8C, 8051 ).

Debugging skills with JTAG, Oscilloscopes, and/or Logic analyzers.

Development experience on Unix, Linux, or Mac OS X is preferred.

Familiarity with video camera, displays, input, or health technologies is preferred.

Cocoa, Objective-C, or IOKit is preferred.