Embedded Software / Firmware Engineer

  • Austin, TX
  • Posted 14 hours ago | Updated 14 hours ago

Overview

Hybrid
$60 - $65
Accepts corp to corp applications
Contract - W2
Contract - Independent
Contract - 12 Month(s)

Skills

Embedded
firmware
C++
cpu/apu/gpu
Linux
Kernel

Job Details

Embedded Software / Firmware Engineer
Location: Austin, TX
Hybrid Role, but at least 3 days on-site
Interview will be on Teams meeting
Firmware/Embedded SW Engineer - Contractor

The Role:
we push the boundaries of what is possible. We believe in changing the world for the better by driving innovation in high-performance computing and integrated graphic technologies. We have an awesome opportunity for an experienced Firmware Engineer with Embedded Software background to focus on various firmware development, performance optimization, new ASIC bringup and debug. You will be responsible for the full complement of AMD's GPU, APU and CPU designs, developing features and driving continuous improvement in all areas.

The Person:
We are looking for an individual that thrives in cross team collaboration and is excited about new technologies. The engineer will be driving the planning, execution and debugging of internal firmware for the next generation and state of the art GPUs, APUs and CPUs.

Key Responsibilities:
Develop firmware that collaborates with other HW/SW components to deliver new capabilities and optimized performance for GPUs, APUs and CPUs.
Debug, troubleshoot FW issues, as well as system-level failures related to various FW components and features.
Develop and customize firmware features for future platforms
Debug issues found during pre-silicon, post-silicon, and/or production phases of SOC programs.
Interact closely with other teams in design, diagnostics, emulation, firmware, and driver, to ensure enablement of IP functionality, debug of critical features, and full validation for production.
Support resolving issues on customer platforms as requested by customer support teams.

Minimum Requirements:
Expertized in developing and debugging embedded software / firmware using C / C++ programming language.
Proficient with Linux development, debugging (gdb, strace), and kernel logs (dmesg, journalctl).
Experienced in writing systemd services, DBus interfaces, and Python or shell scripts.
Hands-on experience with OpenBMC, Yocto Project, and BitBake.
Good understanding of device tree, Linux kernel configuration, and system demons (phosphor-* services).
Strong analytical skills and pronounced attention to details.
Familiar with Git, Gerrit/GitHub, CI pipelines.

Preferred Requirements:
Experience and knowledge with the following protocols and standards:
MCTP (Management Component Transport Protocol),
PLDM (Platform Level Data Model),
SPDM (Security Protocol and Data Model),
FRU and Sensor Management
Experience in BMC bring-up and integrating BMC on Aspeed or Nuvoton SoCs (e.g., AST2600).
Experience with board/platform-level debug, analysis and optimization.
Understanding digital processing and electronics is an asset.
In-depth knowledge of CPU / APU architecture is an asset.
Good understanding of computer architecture.
Laboratory experience, including familiarity with oscilloscopes, logic analyzers, etc.

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.