About The Position

Annapurna Labs builds high-performance hardware and software solutions used in AWS data centers globally. We're looking for an Embedded Software Development Engineer with a focus on FPGA accelerator systems. As an Embedded SDE, you will be responsible for delivering embedded software solutions, driver development, and system bring-up for FPGA-based accelerators. A successful candidate will have an established background in embedded software development, hardware/software interfaces, a strong technical ability, excellent project skills, great communication skills, and a motivation to achieve results in a fast-paced environment. As a member of the Accelerator Systems FPGA team, you'll develop embedded software and drivers that enable customers to run hardware acceleration on AWS. You'll gain knowledge of our data center infrastructure, including technologies like AWS F1/F2 and how they enable hardware acceleration in the cloud. You will own large scale deployments in a continuous effort to deliver a world-class customer experience. This is a fast-paced, intellectually challenging position, and you'll work with multiple technology areas. You'll have high standards for yourself and everyone you work with, and you'll be constantly looking for ways to improve our products' performance, quality and cost. We're changing an industry, and we want individuals who are ready for this challenge and want to reach beyond what is possible today.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or related fields
  • Experience in embedded development in C/C++
  • Experience working with software teams to tightly define the HW/SW interface, including control/status registers and error handling
  • Experience with hardware description languages (SystemVerilog, Verilog, VHDL)
  • Knowledge of FPGA or SoC development and architecture
  • Experience with device driver development for Linux or other operating systems
  • Experience with system bring-up and hardware debugging

Nice To Haves

  • Familiarity with FPGA development tools (Vivado, Vitis, Quartus)
  • Experience with PCIe, DMA, and high-speed interconnects
  • Knowledge of ARM or x86 processor architectures
  • Experience with real-time operating systems (RTOS)
  • Understanding of hardware acceleration and heterogeneous computing
  • Experience developing accelerators using AMD or Intel SoC platforms (e.g., Versal, Agilex SoC)

Responsibilities

  • Develop embedded software for FPGA/SoC based acceleration platforms; including low-level drivers, firmware, and system software for accelerator services
  • Design and implement hardware/software interfaces at chip and board level, including PCIe drivers, DMA engines, and memory management subsystems
  • Lead SoC and FPGA bring-up activities, including board initialization, boot loaders, and hardware validation
  • Dive deep on issues at the intersection of hardware and software. Debug and troubleshoot hardware/software integration issues and performance bottlenecks
  • Implement and improve software testing frameworks across the product lifecycle, including unit tests, integration tests, and system-level validation
  • Review and provide feedback on hardware architecture/design plans from an embedded software perspective
  • Strong skills presenting technical information verbally and in written reports
  • Report on status of development, quality, operations, and system performance to management

Benefits

  • health insurance (medical, dental, vision, prescription, Basic Life & AD&D insurance and option for Supplemental life plans, EAP, Mental Health Support, Medical Advice Line, Flexible Spending Accounts, Adoption and Surrogacy Reimbursement coverage)
  • 401(k) matching
  • paid time off
  • parental leave
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service