Embedded Software - System Test Architect
Advanced Micro DevicesJob Title
Embedded Software - System Test Architect
Role Summary
Lead verification and system-test architecture for ARM-based embedded software, focusing on Linux kernel/drivers, bare-metal drivers, boot firmware and board bring-up on evaluation and emulation platforms. Work with hardware and firmware teams to define test strategies for pre-silicon and post-silicon validation.
Experience Level
Senior-level. Preferred experience: 12β16 years in embedded system software verification and testing.
Responsibilities
Design and execute verification and validation activities for embedded platforms, from bring-up to regression and release testing.
- Architect verification and system tests for Linux kernel, drivers, bare-metal firmware, and peripheral controllers.
- Perform board bring-up activities for bootloader, TF-A, platform managers, Linux kernel/drivers and bare-metal applications on ARM boards and emulation/prototyping platforms.
- Develop and execute test plans for functionality, security, and performance on emulation and evaluation hardware for pre- and post-silicon verification.
- Analyze, track, and debug test failures; collaborate with development teams to define corrective actions and verify fixes.
- Automate functional and system-level tests (Python) and integrate them into the Test Automation framework; maintain test artifacts and cases.
- Run regression suites, triage issues, file defects, and drive closure with engineering teams; implement dynamic code-coverage practices for boot firmware.
Requirements
Core technical and practical skills required to perform verification, bring-up and automation for embedded systems.
- Must-have: Significant experience in verification and testing of embedded system software or firmware (device drivers, boot firmware, kernel-level validation).
- Experience with device driver verification and validation on Linux, bare-metal, or RTOS environments.
- Proven board bring-up skills: compiling/cross-compiling, building images, debugging via JTAG/emulators, and working with various boot modes.
- Hands-on experience with boot components and platform software: bootloader, TF-A, Linux kernel, device tree and middleware.
- Solid understanding of SoC/processor concepts (ARM/RISC-V/x86), MMU, interrupt handling, and cache behavior.
- Experience with peripherals/controllers such as UART, I2C, SPI, USB, SD, eMMC, QSPI, PCIe.
- Programming and build skills: C/C++, Makefiles, linker scripts; scripting with Python and shell (Tcl optional).
- Experience with source control and CI/Test automation: Git, Pytest, Jenkins (or equivalent).
- Strong debugging, troubleshooting and test-design skills; ability to create clear defect reports and reproduce issues on hardware or emulation platforms.
Nice-to-have:
- Exposure to static/dynamic coverage tools (e.g., LDRA) and test-coverage workflows for firmware.
- Familiarity with FPGA toolchains (Vivado, Vitis), configuration management tools (Perforce), and collaboration tools (JIRA, Confluence).
Education Requirements
Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
About the Company
Company: Advanced Micro Devices
Headquarters: Sunnyvale, California, USA
Advanced Micro Devices, or AMD, is a global semiconductor company that designs and manufactures microprocessors, graphics processors, and related technologies for a variety of computing devices. Known for pushing the boundaries of innovation, AMD's mission is to deliver high-performance computing solutions for AI, data centers, gaming, and embedded applications. They foster a collaborative, inclusive culture focused on creativity and problem-solving, aiming to drive progress and excellence in technology.
