iOS Embedded Firmware SoC Bring up Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Apples products and platforms enrich the lives of millions of people and have changed the way we do business on a planetary scale. Apples success depends on the innovations of its incredibly talented engineering and design group. Do you want be part of innovations that change the world? If so then we want to talk with you. Apple’s IMG Audio group is seeking an experienced software engineer with strong low-level coding and prototyping skills who can bridge the gap between hardware and software. The successful candidate will work with the Audio Design, Silicon Engineering, and Silicon Validation Teams, prototyping bring-up sequences, and expanding internal tools to facilitate bring-up for new SoC and hardware designs. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS.
- Experience in silicon and pre-silicon bring-up.
- Excellent programming (C/Assembly) and scripting skills (Python).
- Excellent profiling skills with proficiency debugging large, complex system software. Background in low-level software development.
- Ability to translate hardware data sheets into software.
- Ability to review hardware engineering schematics.
- Good understanding of multi-core embedded HW System and RTOS.
- Good understanding of uboot and Jtag.
- An interest in audio and improving audio on Mac and iOS platforms.
- Knowledge power management, ARM, X86 architectures a plus.
- Highly motivated and self-directed, quick learner.
You will have responsibilities spanning pre-silicon development and all aspects of project-based audio driver design and software development. Translation of HW specifications into bring-up/run/tear-down sequences in software. Profile power and performance of software/hardware. Develop tools to improve bring-up workflow. Participate in audio hardware design reviews. Debug prototype software and hardware. Participate in medium and large scale software engineering processes. Create and maintain engineering documentation.
Education & Experience
BE/ME, BS/MS in Computer Science, or Equivalent.