About this role
Open BMC - System Test Architect
THE ROLE:
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 work 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
- Debugging/fix existing issues and research alternative, more efficient ways to accomplish the same work
- Good experience in Verification & Testing of OpenBMC software stacks, platform-specific OpenBMC features and services
- Good experience in Verification & Testing of Yocto recipes, layers, and build infrastructure.
- 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.
- Good to have exposure in design tools like VIVADO, VITIS, Configuration management tools like GIT/Perforce, JIRA, Confluence etc.
ACADEMIC CREDENTIALS:
- Bachelor’s or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent