Software Engineer: Linux Driver and Kernel Developer

Santa Clara Valley (Cupertino), California, United States


Role Number:200349340
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 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 testing the various subsystems in complex SoCs.

Key Qualifications

  • Experienced in embedded Linux kernel development
  • Proven knowledge of Linux kernel internals (process scheduler, memory management, concurrency/synchronization, memory allocation, file systems) and networking or storage subsystems architecture
  • Extensive device driver development and support (one or more of USB, network, graphics, video, mtd, storage, and power management)
  • Strong debugging skills in kernel context
  • Experience with exercising/validation of system from user space, and knowledge of user space API
  • Experience porting/maintaining Linux distribution for a platform
  • You are a skilled C programmer
  • Familiarity with ARM architecture is desired


- You will work closely with designers and architects to understand functional IP blocks and their use-cases - You will be implementing BSP and doing software bringup on pre and post-silicon platforms - You will be developing Linux device drivers and user-land tests for exercising and testing the various subsystems in complex SoCs. - You will debug and root-cause a variety of hardware and software issues

Education & Experience

BS / MS / Ph.D in EE, CE, or CS is required

Additional Requirements