Software Engineer - Embedded Systems

Cupertino, CA 95014
  • Job Code
    200240531
  • Jobs Rated
    8th
Summary

Summary

Posted: Apr 19, 2021

Role Number:200240531

Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code aff...Summary

Summary

Posted: Apr 19, 2021

Role Number:200240531

Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group, you will ensure the OS is inseparable from each device's identity as a whole. That's because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you'll continue to uphold and advance the excellence people expect from Apple devices. Core Operating Systems group we ensure that the OS is inseparable from each device's identity as a whole. That's because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies for macOS, iOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you'll continue to uphold and advance the excellence people expect from Apple devices.

The Apple SMC Platform group is seeking an engineer to work on the software and firmware for the SMC (System Management Controller). The SMC Platform Team is responsible for the SMC software ecosystem and provides embedded drivers, processor-to-processor communication, system power state management and additional always-on functionality. The position requires high-level thinking to architect solutions across a variety of hardware, along with low-level embedded programming skills and the ability to engage with cross-functional teams to deliver to product requirements. You will have the opportunity to have a major impact on Apple products, from pre-silicon development to shipping.

Key Qualifications

  • Experience in embedded firmware systems and driver development in C or C++.
  • Experience with advanced micro-controllers or kernel level SoC programming.
  • Experience with peripheral protocols; e.g. I2C/SMBus, UART, SPI, etc.
  • Familiarity with multi-threaded operating systems and schedulers.
  • Experience writing command line tools (either C or scripting).
  • Ability to read basic 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.

Description

Write code to run in an embedded environment, control hardware components, communicate with coprocessors and provide services to thermal and power tasks running on the SMC. Support new product and driver bring-up on 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.

Additional Requirements

Jobs Rated Reports for Software Engineer

Before you go...

Our free job seeker tools include alerts for new jobs, saving your favorites, optimized job matching, and more! Just enter your email below.

Share this job:

Software Engineer - Embedded Systems

Apple, Inc.
Cupertino, CA 95014

Join us to start saving your Favorite Jobs!

Sign In Create Account
Software Engineer
8th2017 - Software Engineer
Overall Rating: 8/199
Median Salary: $100,690

Work Environment
Good
53/199
Stress
Very Low
24/199
Growth
Very Good
32/199