HID Firmware Engineer
Role details
Job location
Tech stack
Job description
The Human Interface Device (HID) group is looking for motivated engineers to join the multi-touch development team. Firmware delivered by HID powers the amazing sensing interfaces used on iPhone, iPad, Mac, AirPods, health sensors, and more., 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 sustainable code tailored for embedded systems.
Efficiently debug and close out system issues related to your firmware.
Specify and document communication protocols, system states, and feature requirements in partnership with other firmware and software teams.
Collaborate with Quality Engineering teams to inform and craft their white-box testing.
Mentor less experienced firmware engineers and help guide them to successful deliverables.
Requirements
- BS and a minimum of 3 years relevant industry experience
- Experience with multithreaded programming
- Experience developing complex architectures in RTOS environments
- Experience with advanced debugging in embedded environments (e.g., coredumps, traces), * MS in a science related degree
- 8+ years of relevant experience
- Expertise in C or C++ for Embedded Systems
- Strong communication and collaboration skills
- Experience with multithreaded programming
- 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 designing and implementing communication protocols
- Experience optimizing for memory and execution time in resource constrained environments
- Experience with advanced debugging in embedded environments (e.g., coredumps, traces)
- Experience with NEON / SIMD or similar hardware accelerators
- Deep experience working with analog and digital sensors
- Proven capability to apply software best practices to firmware designs
- Experience contributing to large software projects
- Experience with unit testing, static analysis, and continuous integration