Senior Embedded Software Engineer

Apple Apple · Big Tech · Sunnyvale, CA +1 · Hardware

Senior Embedded Software Engineer at Apple, responsible for designing and implementing firmware and low-level software for new products. This role involves rapid prototyping, validation of novel concepts, and close collaboration with hardware, controls, and AIML engineering teams. Requires strong C/C++ skills, embedded systems experience, and familiarity with real-time operating systems and common interfaces.

What you'd actually do

  1. Design, develop, bring-up, and debug custom firmware and device drivers on new hardware.
  2. Perform rapid iterative development of complex prototypes and proofs of concept.
  3. Efficiently triage and debug system issues in collaboration with our cross functional integrated team.
  4. Design novel communication strategies and protocols in partnership with other engineering teams.
  5. Participate in the design process, working closely with machine learning and mechanical design teams.

Skills

Required

  • BS/MS degree in one of Computer Engineering, Computer Science, Robotics, Mechatronics or Electrical Engineering
  • Proficiency with embedded development
  • 5+ years of firmware or device driver development
  • Strong, demonstrable coding skills in C and C++
  • Experience with embedded Real Time Operating Systems (FreeRTOS, VxWorks etc)
  • Experience with common interfaces (ie: I2C, SPI, UART, USB)
  • Familiarity with compilers and toolchains targeting ARM Cortex-M/R/A, etc.
  • Familiarity with tools such as debuggers, oscilloscopes, etc

Nice to have

  • Experience with networking, concurrency, and distributed systems, particularly for fault-tolerant, low-latency, closed-loop applications
  • Experience with various sensor modalities (e.g., cameras, LiDAR, IMUs, depth sensors)
  • Experience in motor controls, actuation, audio, or switching power supplies
  • Background in electromechanical systems, motor control theory, and implementation of real-time control systems
  • Experience using Linux+PreemptRT or QNX in real time applications
  • Experience with robust coding and software development standards in safety-critical environments such as DO-178B/C, MISRA C, ISO 26262, or IEC 61508 / 62304

What the JD emphasized

  • critical member of a multi-disciplinary team
  • rapidly prototyping and validating novel concepts
  • directly influence future product direction
  • demonstrating the viability and potential of new technologies
  • working closely with machine learning and mechanical design teams