Firmware Engineer - Human Interface Devices

Apple Inc.
San Diego, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

San Diego, United States of America

Tech stack

Apple Mac Systems
Bluetooth
Unix
C++
Communications Protocols
Computer Engineering
Software Debugging
Linux
Firmware
Human-Computer Interaction
Joint Test Action (IEEE Standards)
Python
Software Engineering
Universal Asynchronous Receiver/Transmitter
USB
Serial Peripheral Interface
Siri
Information Technology
Low Latency
Objective C++

Job description

This role offers an opportunity to design, develop, and ship firmware for touch and force sensing in products like Mac Trackpad, Pencil Pro, Siri Remote, and more. In this role, you will contribute to every phase of the product life cycle, from concept and architecture through implementation, test, and software updates. And, best of all, you will be able to see your hard work in use, out in the world!, The Human Interface Device Firmware (HID FW) team designs, builds, and delivers high-quality embedded firmware and software for embedded microcontrollers, custom sensing ASICs, and SOC co-processors. Our focus is the human-computer interface as we bridge Hardware and Software to enable the best interaction experiences. We work with Product Design, Electrical Engineering, Silicon Design, Algorithms, Software, and UI teams to create incredible user experiences and best-in-class embedded architecture, optimized for latency, performance, power, memory, cost, and other system constraints.

We are seeking a firmware developer who is passionate about connecting design choices to the end user experience, creatively working within constraints, and prioritizing quality. If you are looking for a place where you can do your life's best work, then come join us!

Requirements

  • Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or equivalent and 3+ years experience in a firmware or low level software development role
  • Experience writing in C or C++ for Embedded Systems
  • Experience working on microcontrollers with analog and digital sensors such as strain, capacitance, pressure, etc.
  • Experience with embedded communication protocols (e.g. SPI, I2C, UART, USB, Bluetooth)
  • Debugging experience with JTAG, Oscilloscopes, and/or Logic analyzers, * Ability to communicate clearly with peers and management
  • Experience with one or more 32-bit microcontroller cores (ARM, MSP430, MicroChip)
  • Development experience on Unix, Linux, or macOS
  • Familiarity with touch sensing technologies is a plus
  • Familiarity with other languages such as Python, Objective-C, or Swift is a plus

Apply for this position