Software Engineer - Embedded Systems

Austin, Texas, United States
Software and Services

Summary

Posted:
Role Number:200525628
The Apple SMC Platform group is seeking engineers 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 focusing and committing. 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 cultivates innovation and rapid product iteration within a creative solution space.

Description

The SMC is a co-processor responsible for sleep/wake, boot and shutdown, thermal and battery management, charging, and power distribution. The SMC Platform Team is responsible for the co-processor’s resources, peripheral drivers, communications, run-time for various clients, and other platform services to support other SMC Client teams. The role involves design and development of firmware modules, tools and framework for wide range of products on a variety of development environments. Architect new solutions to address performance, stability, simplicity and flexibility and support shipping products. Work closely with test engineering teams to build robust test suites, debugging tools and automation.

Minimum Qualifications

Key Qualifications

  • 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, USB, Network stack etc
  • Experience writing command line tools (either C or scripting)
  • Ability to read schematics
  • A focus on generating stable code through detailed testing
  • Experience with code management tools like Git
  • Excellent communication and collaboration skills

Preferred Qualifications

Education & Experience

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

Additional Requirements

  • 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.