Lead Firmware Engineer

9288
  • Competitive
  • Texas, United States
  • Semiconductor
  • Permanent

Position Overview

We are seeking a talented Firmware Engineer to join our engineering team and lead embedded software development for a novel LLM accelerator architecture. This role focuses on low-level firmware that directly interfaces with custom hybrid optical-electronic compute hardware, ensuring reliable operation, performance, and scalability.

Key Responsibilities

  • Design and implement firmware and supporting toolchains for a custom LLM accelerator architecture

  • Develop optimization strategies that efficiently map software behavior to hardware execution

  • Build low-level firmware components for hardware control, initialization, and runtime operation

  • Optimize memory access patterns and data movement across the system

  • Interface with higher-level software stacks and ML frameworks (e.g., PyTorch, JAX, Triton)

  • Develop and maintain testing infrastructure to ensure firmware reliability and performance


Qualifications

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field

  • 10+ years of industry experience

  • 5+ years of experience in firmware engineering, embedded systems, or low-level systems programming

  • Expert-level proficiency in Embedded C++ (required) and Python for tooling/automation

  • Strong experience with embedded systems programming and hardware interfaces

  • Deep understanding of computer architecture, memory hierarchies, and parallel computing

  • Experience with hardware communication protocols and register-level programming


Preferred Skills

  • Master’s degree in Computer Science, Electrical Engineering, or a related field

  • Expertise in high-performance, low-latency system design, including power and thermal optimization

  • Strong knowledge of embedded processor architectures (ARM, RISC-V) and high-speed interfaces (AXI, PCIe, AMBA)

  • Ability to read and understand RTL for hardware/software co-design

  • Experience building multi-node or multi-processor embedded systems using bare metal or RTOS (e.g., Zephyr, FreeRTOS)

  • Familiarity with large language model architectures and AI/ML accelerators (GPUs, TPUs, FPGAs)

  • Experience with virtual platforms, simulators, cross-compilation toolchains, and containerized workflows

  • Proven ability to manage OTA update systems and debug complex concurrent or asynchronous systems


Technical Skills

  • Languages: Embedded C++ (essential), Python, Assembly

  • Bus Protocols: AXI, AMBA, PCIe, DDR, high-speed serial protocols

  • Processors: ARM Cortex-M/A, RISC-V, or similar architectures

  • Embedded Platforms: Bare metal, FreeRTOS, Zephyr, or similar RTOS

  • RTL & Simulation: Verilog/SystemVerilog (reading), ModelSim, QuestaSim, or similar tools

  • Hardware Interfaces: Register-level programming, memory-mapped I/O, DMA

  • Distributed Embedded Systems: Inter-node communication, message passing, distributed state management

  • Testing & QA: Unit testing, hardware-in-the-loop, integration testing

  • CI/CD: Jenkins, GitHub Actions, GitLab CI

  • Development Tools: CMake, Git, Docker

  • Debugging Tools: GDB, JTAG, logic analyzers, oscilloscopes, protocol analyzers

  • Operating Systems: Linux (user-space tooling), embedded RTOS internals


Technical Environment

  • Languages: Embedded C++ (primary), Python for tooling, Assembly for low-level optimization

  • Hardware Tools: JTAG debuggers, logic analyzers, oscilloscopes, protocol analyzers

  • Simulation: RTL simulators for hardware/software co-verification

  • Testing: Hardware-in-the-loop systems, automated regression suites, CI pipelines

  • Focus Areas: Firmware development, hardware abstraction layers (HAL), and hardware-software co-design

Julian Bahrami Senior Consultant

Apply for this role