HID Firmware Engineer

Cupertino, California, United States
Hardware

Summary

Posted:
Role Number:200525646
At Apple, we build amazing products that allow millions of people do things they never imagined! Are you looking for a place where people from different backgrounds get together to develop technological breakthroughs? Are you are looking for a place where you can do your life’s best work? Then come join us! We are a team of creative, energetic, and passionate firmware engineers responsible for the next-generation Human Interface Device technologies! We are looking for dedicated individuals who enjoy building firmware for embedded processors, prototyping concepts, investigating new technologies, and delivering high-quality products. As a HID firmware engineer, you will be bringing up new sensing chipsets and processors from specification to production.

Key Qualifications

  • Be insatiably curious about how and why things work
  • Ability to write in C or C++ for Embedded Systems
  • Experience working on microcontrollers with analog and digital sensors
  • Solid understanding of communication protocols ( e.g. USB, Bluetooth, UART, SPI, I2C )
  • Experience implementing firmware in bare-metal or RTOS environments
  • Strong board bring-up and debug skills
  • Ability to communicate clearly with peers and management

Description

As a HID firmware engineer working on many of Apple's embedded sensors, you will be encouraged to: Bring up new sensing chipsets and processors from initial specification to production Work with cross-functional teams and lead technical opens to closure Quickly debug and optimally close out system issues related to your firmware Implement, and maintain complex firmware designs Write clean, easy to understand, robust, and balanced code tailored for embedded systems Negotiate, specify and document communication protocols, system states, and FW/SW feature requirements with multi-functional teams Define power management strategies, and review schematics with the HW team Collaborate with the QE teams to inform and craft their white-box testing

Education & Experience

BSCS/CE/EECS MSCS/CE/EECS or equivalent

Additional Requirements

  • Experience with one or more 32-bit microcontroller cores (ARM, MSP430, MicroChip)
  • Debugging skills with JTAG, Oscilloscopes, and/or Logic analyzers
  • Development experience on Unix, Linux, or Mac OS is preferred
  • Familiarity with touch sensing technologies
  • Familiarity with other languages such as Python or Objective-C

Pay & Benefits