Silicon Validation Software Engineer: Embedded and Low-level Programming

Beaverton, Oregon, United States


Role Number:200452777
At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Dynamic, smart people and inspiring, innovative technologies are the norm here. The people who work here have reinvented entire industries with all Apple Hardware products. The same passion for innovation that goes into our products also applies to our practices strengthening our commitment to leave the world better than we found it. Join us to help deliver the next groundbreaking Apple product. We are looking for software engineers with background in embedded software development to join a fast-paced environment. In this role, you will contribute to developing embedded software solution, debug and bring-up of the state-of-the-art next generation SOCs, supporting current and future Apple products. Your work will have a critical impact on getting high quality functional products to millions of customers quickly. You will be part of our core infrastructure team responsible for developing and improving our embedded silicon test software platforms, including Common Firmware Environment and RTOS.


• Develop boot and driver code for Apple SOC, including AP clusters, IO Co-Processor system, fabric, power management, memory and other I/O devices • Design, implement, and enhance Common Firmware Environment (CFE) and other platform software for Apple silicon validation organization • Develop system software to exercise power saving feature (suspend and resume) • Contribute to SDRAM initialization and calibration development • Implement firmware driver for PMIC and battery charging • Participate in the chip bring-up on simulator, emulation, FPGA and silicon • Develop applications covering system level use cases and functional features • Participate in SOC architecture, design specification and board schematics review

Minimum Qualifications

Key Qualifications

  • Proficient in C/C++, assembly a plus
  • Background in embedded software development, bare metal, RTOS and/or Linux
  • Solid understanding about ARM specification, computer architecture, operating system
  • Experience in boot code, CPU & SOC initialization, device drivers
  • Familiar with IO protocols: I2C, SPMI, UART, GPIO.
  • Experience in lpDDR4/5, DRAM initialization and calibration a big plus.
  • Good troubleshooting skills in silicon bring-up and embedded software debugging
  • Experience with script language such as Python, Perl, or Tcl

Preferred Qualifications

Education & Experience

BS and a minimum of 3 years relevant industry 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.