SoC Embedded Software QA Engineer
Santa Clara Valley (Cupertino), California, United States
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. As our SQA Engineer, you will be responsible for designing and implementing embedded software for SoC test cases, and for verifying the quality of such implementations. You will also work to enhance and maintain the automated regression system that ensures consistently high quality software is delivered. Every day you will work closely with the rest of the software engineering team to ensure the quality of all software deliverables.
- 3+ yrs Embedded software design experience.
- Strong embedded C programming skills.
- Proficient in scripting with Perl, Python, Bash, YAML, JSON
- Experience working with UNIX/Linux/OS X environments.
- Strong software design ability, data structures, and algorithms.
- Knowledge of RTOS embedded kernels, hardware BSP and embedded applications
- Experience writing firmware for device hardware.
- Experience using laboratory equipment (e.g., logic analyzer, digital oscilloscope)
- Experience reading and working from hardware schematics
- Design and implementation of firmware for SoC validation and test. - Generating post-silicon directed diagnostic and stress test cases and debugging failure cases using multiple HW and low-level SW platforms. - Leveraging and porting of design verification and silicon validation tests to enable improved test coverage of IP in silicon test. - Support of test environment for device characterization, failure analysis, and mass production. - Maintain and improve the automated regression-testing environment, develop new automation tools and manage/enhance our QA automation lab. - Triage test failures, including those found by our own regressing system and also those found outside of our team
Education & Experience
BS/MS IN COMPUTER SCIENCE OR RELATED FIELD