Embedded Software Engineer

Shanghai Until 9/21/2026 First posted July 23, 2026 Last posted July 23, 2026
Job description

The System Firmware and Diagnostics team is looking for an enthusiastic embedded software engineer to join our team. You’ll have the opportunity to work on core technologies to make a major impact in the way that Apple develops, test and manufactures its products. Our environment encourages product innovation, rapid product iteration, collaboration and a liberating amount of autonomy

Description

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 unreleased Apple's handheld devices. This is a highly cross functional role and you'll work closely with various teams, like EE, Systems Engineering, Software Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations. The environment is dynamic, fast-paced and requires a go-getter attitude.

Minimum Qualifications

BS or MS in Computer Engineering, Computer Science, Electrical Engineering or equivalent.
Excellent communication skills, both verbally and written (In both Chinese and English).

Preferred Qualifications

Proficiency in C/C++, some embedded software experience is preferred.
Understanding and experience with ARM platform and architecture/instruction set.
Experience developing low level 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 (lua, python).

About this role

Summary

Develop firmware, drivers, and features for Apple's hardware testing and diagnosis.

Job title

Embedded Software Engineer

Experience level

null

Industry

technology

Location requirements

Shanghai, on-site work only

Salary

Not specified

Management role

No

Skills & keywords

Required skills

C/C++ARMdebuggershardware protocolsschematics

Preferred skills

embedded softwarelow level driversUSBUARTSPII2CPCIeMIPIHDMIDDRscripting

Specializations

firmwaredriversembedded softwareARMlow level drivers
Locations

Structured locations inferred from the posting.

Shanghai, China

On-site City