Embedded Software Engineer

Santa Clara Valley (Cupertino), California, United States


Weekly Hours: 40
Role Number:200207082
Apple's embedded firmware/software team is looking for an exceptional software engineer to drive cutting-edge technology for Apple products. Working on core technologies you'll have the opportunity to make a major impact in the way that Apple develops, tests and manufactures its products. Our environment fosters product innovation, rapid product iteration and a liberating amount of autonomy.

Key Qualifications

  • A genuine passion for embedded software development.
  • Proficiency in C/C++.
  • Understanding and/or experience with UEFI (EDK2) not a must but a massive
  • plus.
  • Understanding and experience with ARM platform and
  • architecture/instruction set.
  • Experience developing device drivers
  • Experience with debuggers such as gdb, lldb, etc.
  • Familiarity with scopes and logic analyzers.
  • Able to comprehend hardware specs and schematics.
  • Familiarity with standard hardware protocols (usb, uart, spi, i2c, pcie, mipi,
  • hdmi, DDR)
  • Familiarity with some form of scripting (bash, perl, python ).
  • Ability to deliver on tight schedules.
  • Excellent collaborative skills, should be a great team player.
  • Outstanding written and verbal communication.


In this role you will implement software and drivers for common firmware interfaces, chipsets, communications protocols and various SoC IPs. You will also implement features to support hardware testing and diagnosis of Apple’s mobile devices. This is a highly cross functional role and you’ll work closely with various teams, like EE, Systems Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations. The environment is dynamic, fast-paced and requires a go-getter attitude. The international travel requirement is 10-20% (flexible and product dependent).

Education & Experience

BS/MS in Computer Engineering, Computer Science or equivalent. 2+ years of industry experience in a similar role.

Additional Requirements