Embedded Software - System Test Architect
System test architect at AMD in Hyderabad defining verification strategy for ARM-based embedded software: board bring-up (bootloaders, Linux kernel/drivers, bare-metal), pre/post-silicon firmware testing on emulation and evaluation boards, and automating functional/regression tests with Python, Pytest and Jenkins.
- Compensation
- Not disclosed
- Location
- Hyderabad
- Work setup
- Onsite
- Seniority
- Not specified
- Employment
- Full time
- Experience
- 7+ years
- Category
- Embedded
- Posted
Skills
Must have
- 7-12 years in verification and testing of embedded system software or firmware
- Device driver verification and validation on Linux, bare metal, and RTOS
- Compiling/building/cross-compiling and deploying bootloader, TF-A, Linux kernel, device tree, middleware, bare-metal images via JTAG debuggers/emulators
- Understanding of SoC/processing technologies like ARM/RISC-V/X86, MMU, interrupt handling, caches
- Hands-on with peripherals/controllers like UART, I2C, SPI, USB, SD, eMMC, QSPI, PCIe
- Define, design and develop manual/automation test cases for embedded system projects
- Programming in C/C++, Makefile, linker file creation; scripting in Python/Shell/Tcl
- Experience with GIT and test automation frameworks like Pytest, Jenkins
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
Nice to have
- Exposure to design tools like Vivado, Vitis; config management tools like GIT/Perforce, JIRA, Confluence
Full description
Job Summary
AMD is looking for an influential software engineer who is passionate about improving the performance of key applications and benchmarks. You will be a member of a core team of incredibly talented industry specialists and will work with the very latest hardware and software technology.
The Person
The ideal candidate should be passionate about software engineering and possess leadership skills to drive sophisticated issues to resolution. Able to communicate effectively and work optimally with different teams across AMD.
Key Responsibilities
- Verification and Test Architect for ARM based Software systems - Linux kernel/Drivers, Braemetal drivers, high speed and low speed peripheral driver verification specialist.
- Board bring-up activities for Software components like bootloader, platform managers, Linux Kernel, Linux drivers, Baremetal drivers and application for ARM based boards and emulation platforms, Proto-typing platforms
- Develops and executes test plans to evaluate functionality, security, and efficiency of firmware utilizing emulation and evaluation boards for pre-silicon and post silicon verification.
- Analyzes, tracks, and debugs testing failures to determine corrective measures. Collaborates directly with development team to assess test plan requirements and resolve failures.
- Automate and the functional and System level tests using Python and integrate the same in Test Automation framework and maintain the Test artifacts for any updates in the Test cases or in Test framework
- Run the Regression tests, triage issues, create Defects in the system and wok with development team for closure. Drive dynamic code coverage for boot level Firmware using standard tools like LDRA etc.
Preferred Experience
- Working experience 7-12 years in verification and testing of Embedded System software or firmware etc.
- Good experience in Device Driver Verification and validation on Linux, Bare metal, Real Time Operating Systems.
- Skills in compiling / building / cross-compiling, debugging, testing, deploying Bootloader, TF-A, Linux Kernel, Device tree, Middleware software, and BareMetal application images for board bring up activities through JTAG debuggers & Emulators using different boot modes
- Good understanding of any one of SoC/Processing Technologies like ARM/RISC-V/X86, MMU, Interrupt handling, Caches etc.
- Hands on with one or more peripherals/controllers like UART, I2C, SPI, USB, SD, eMMC, QSPI, PCIe etc.
- Define, Design and Develop manual/Automation test cases for Embedded system projects
- Programming skills in C/C++, Makefile, Linker file creation, scripting language Python/Shell/Tcl
- Experience in GIT environment and Test Automation framework - Pytest, Jenkins etc.