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
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.
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
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.