Software Engineer – Embedded Systems

September 16, 2020
One Infinite Loop, Cupertino, California
Job Type


The Apple SMC Platform group is seeking an engineer to work on the software and firmware for the SMC (System Management Controller) in a wide range of Apple products. The position requires high-level thinking to architect solutions across a variety of hardware, along with low-level programming skills and a passion for going the extra mile. Working on this technology you will have the opportunity to have a major impact on the implementation and quality of Apple's next generation products. Our environment fosters innovation and rapid product iteration within a creative solution space.

Key Qualifications

  • 3+ years of embedded firmware or kernel driver development in C or C++.
  • Experience with advanced micro-controllers or kernel level SoC programming.
  • Experience with at least one peripheral protocol; e.g. I2C/SMBus, UART, SPI, etc.
  • Experience writing command line tools (either C or scripting).
  • Ability to read schematics.
  • A focus on generating stable code through rigorous testing.
  • Experience debugging panics and core dumps.
  • Experience with code management tools like Git.
  • Excellent communication and teamwork skills.


Write code in C/C++ to run in an RTOS environment, control hardware components, communicate with coprocessors and provide services to thermal and power tasks running on the SMC. Support new product bring-up including FPGAs, simulators and prototypes. Architect new solutions to address performance, stability, simplicity and flexibility needs as they arise. Triage and debug incoming issues from factory and users. Assist test engineering teams with building a robust suite of test and debugging tools with a focus on automation.

Education & Experience

Bachelor or Master degree in Computer Engineering, Computer Science, or Electrical Engineering.

Drop files here browse files ...

Related Jobs

September 22, 2020
Desktop page