Apple logo

Software Engineer - Embedded Systems

Apple
Full-time
On-site
Austin, Texas, United States
Apple is where individual imaginations gather together, committing to the values that lead to great work. Every new product we build, service we create, or Apple Store experience we deliver is the result of us making each other’s ideas stronger. That happens because every one of us shares a belief that we can make something wonderful and share it with the world, changing lives for the better. It’s the diversity of our people and their thinking that inspires the innovation that runs through everything we do. When we bring everybody in, we can do the best work of our lives. Here, you’ll do more than join something.

The SMC/PMU group is seeking engineers to work on the software and firmware for the SMC (System Management Controller) in a wide range of Apple products! In this role, you will be an individual contributor developing embedded software solutions for our current and future products. This is a highly cross-functional role where you will work closely with SW, HW, Systems, Platform Architecture, and our Silicon partners and lead the SoC bring-up and feature development from pre-silicon to commercialization.

Description

This team is responsible for developing software and firmware for the System Management Controller, Power Systems and Private Cloud Compute Management Controller.
Work on new silicon bringup for wide range of Apple Products.
Collaborate with cross-functional teams to design and develop innovative solutions.

Minimum Qualifications

  • Proficient in Embedded firmware or kernel driver development in C or C++
  • A fundamental knowledge of embedded processors, with in-depth knowledge of real time operating system concepts.
  • Experience with at least one peripheral protocol; e.g. I2C/SMBus, UART, SPI, USB, Network stack etc
  • A focus on generating stable code through detailed testing

Key Qualifications

Preferred Qualifications

  • Extensive experience designing, developing and testing embedded software using C/C++.
  • Experience with advanced micro-controllers or kernel level SoC programming
  • Experience in silicon and pre-silicon bring-up.
  • Experience developing tools using Python.
  • Ability to comprehend hardware specs and schematics.
  • Experience with code management tools such as Git, CVS, SVN, or Perforce.
  • Experience with debuggers such as gdb, lldb, etc.
  • Hands on experience with test equipment including scopes, analyzers, and multi-meters.
  • Excellent communication and collaboration skills
  • Highly professional, with the ability to deliver proven work on tight schedules.
  • Bachelor or Master degree in Computer Engineering, Computer Science, or Electrical Engineering.

Education & Experience

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.