Firmware Engineer
Cupertino, California, United States
Hardware
The Human Interface Device (HID) group is looking for motivated engineers to join the Multitouch development team. Firmware delivered by HID powers the amazing sensing interfaces used on iPhone, iPad, Mac, AirPods, health sensors, and more.
Our engineers are involved in all phases of product development, from the earliest concept reviews all the way through first customer ship. This includes architecture development, custom silicon design, hardware bringup with our EE partners, firmware design/implementation, and working with our Algorithm/Software/Quality partners to deliver the user experience for which Apple products are so well known.
Join our team and help craft the future of the Apple Touch experience. With millions of customers, our team’s impact is felt around the world!
Description
As a HID firmware engineer working on many of Apple's embedded sensors, you will be expected to:
Architect, implement, and maintain complex firmware designs
Define and bring up new sensing chipsets and processors from initial specification to production
Be an active participant in the design process, working closely with internal and external partners
Write clean, robust, testable, and balanced code tailored for embedded systems
Efficiently debug and close out system issues related to your firmware
Specify and detail communication protocols, system states, and feature requirements in partnership with other firmware and software teams
Collaborate with Quality Engineering teams to advise and craft their white-box testing
Minimum Qualifications
- Expertise in C or C++ for Embedded Systems
- Experience working on microcontrollers with analog and digital sensors
- Solid understanding of one or more communication protocols (e.g. UART, SPI, I2C, etc.)
- Experience implementing firmware in bare-metal or RTOS environments
- Debugging skills with JTAG, Oscilloscopes, and/or Logic analyzers
- Ability to communicate clearly with peers and management
- Shown capability to apply software best practices to firmware designs
- Supervised work to tackle complex problems with multi-functional teams
- BS and a minimum of 3 years relevant industry experience
Key Qualifications
Preferred Qualifications
- Experience developing complex architectures in RTOS environments
- Working knowledge of inter-processor communication methodologies and SOC concepts such as MMU’s, caching strategies, and ARM architectures
- Experience optimizing for memory and execution time in resource constrained environments
- Experience with sophisticated debugging in embedded environments (e.g., coredumps, traces)
- Deep experience working with analog and digital sensors
- Experience contributing to large software projects
- Experience with unit testing, static analysis, and continuous integration
Education & Experience
Additional Requirements
Pay & Benefits
Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.