Apple

Software Engineer: Linux Driver and Kernel Developer

Apple  •  Austin, TX / Cupertino, CA / San Diego, CA / Beaverton, OR (Onsite)  •  3 hours ago
Apply
AI can make mistakes so check important info. Chat history is never stored.

Job Description

Summary

Imagine what you could do here. 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.

Are you passionate about changing the world? We have a critical impact on getting high-quality, functional products to millions of customers quickly, and we are hiring at all levels — from junior to senior roles. As part of the Silicon Validation team, you will develop Linux device drivers and user-land tests for exercising and validating the various subsystems in complex SoCs.

Description

Work closely with designers and architects to understand functional IP blocks and their use cases

Implement BSP and perform software bring-up on pre- and post-silicon platforms

Develop Linux device drivers and user-land tests for exercising and validating the various subsystems in complex SoCs

Debug and root-cause a variety of hardware and software issues

Preferred Qualifications

Experience in embedded Linux kernel development

Experience in C programming

Experience with ARM architecture

Familiarity with the Linux graphics stack (Mesa, Vulkan/OpenGL, GPU compute)

Experience validating GPUs with graphics and compute workloads, stress tests, or conformance suites (e.g., Vulkan CTS, igt-gpu-tools)

Knowledge of Linux kernel internals (process scheduler, memory management, concurrency/synchronization, memory allocation, and file systems) and networking or storage subsystem architecture

Device driver development and support across one or more of the following: USB, networking, graphics, video, storage, and power management

Debugging skills in kernel space

Experience exercising and validating systems from user space, including knowledge of user space APIs

Experience porting and/or maintaining a Linux distribution for a platform

Minimum Qualifications

Bachelor's degree in Electrical Engineering, Mechanical Engineering, Computer Science, or a related field

Apple

About Apple

We’re a diverse collective of thinkers and doers, continually reimagining what’s possible to help us all do what we love in new ways. And the same innovation that goes into our products also applies to our practices — strengthening our commitment to leave the world better than we found it. This is where your work can make a difference in people’s lives. Including your own.

Apple is an equal opportunity employer that is committed to inclusion and diversity. Visit apple.com/careers to learn more.

Industry
Hardware & Semiconductors
Company Size
10,000+ employees
Headquarters
Cupertino, California
Year Founded
1976
Website
apple.com
Social Media