Apple

Embedded Systems Engineer

Apple Cupertino, California, United States

Computers and Electronics Manufacturing · 10,001+ employees

6 h ago
embedded Mid (2-5 yrs) Full-time United States
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

About the role

Analyze system-level issues and debug hardware and software products throughout the entire development life cycle. Collaborate cross-functionally to ensure the quality, performance, and successful shipment of Apple hardware.

What they look for

Embedded software development C Python JTAG Debugging Failure analysis Version control Boot-loaders RTOS Driver development UART USB I2C SPI ARM Assembly language

Requirements

Requires experience in embedded software development, failure analysis, and proficiency with low-level programming languages like C. Candidates should be comfortable with board bring-up, debugging tools, and embedded OS environments.

Full description

Do you love poking around and reverse engineering hardware and software products?

We are looking for talented, team oriented software, firmware and embedded systems engineers to work cross-functionally to analyze system level issues, debug and ship the next generation of Apple products. We need problem solvers with excellent written and verbal communication skills, both one-on-one and in group settings. Our products include the next generations of all Apple hardware products including iPhone, iPad, and Mac. Join us as we continually push the envelope to create the future of personal computing for Apple’s customers.

Description

We work on products from the initial system bring-up phase, through all of the pre-production factory build phases, through when they “ramp” and afterward during early field return periods, participating in every phase of the development life cycle. Join our team and make a huge impact on the quality, performance, and successful shipment of future iPhones, iPads, and Macs!

Minimum Qualifications

Experience in embedded software development using version control and modern software development practices. Experience with software failure analysis using standard debugging tools. Proficient in use of JTAG software debug tools and symbol level debug environments (gdb/lldb/Trace32). Comfortable with programming in low level languages like C (memory & pointer management). Comfortable with programming in scripting languages (Python, Lua, Perl, Tcl, or similar). Persistence to drive towards solutions of sophisticated problems across multiple teams and domains. Embedded systems knowledge: Boot-up processes, OS/RTOS concepts, boot-loaders, OS drivers.

Preferred Qualifications

Hands-on experience with board bring-up & debugging of hardware system problems such as unexpected resets, system hangs, and others. Experience building and debugging code with embedded OS tools & environments (such as iOS/Android/QNX). Driver development experience on HW interfaces: UART, USB, I2C, SPI, SPMI. Experience with assembly language programming. Familiarity with ARM or other embedded SoCs. Basic web tools and web development skills

Similar roles