Astera Labs is a global leader delivering semiconductor-based connectivity solutions purpose-built to unleash the full potential of intelligent data infrastructure at cloud-scale. Our class-defining first-to-market products based on PCIe, CXL, and Ethernet technologies deliver critical connectivity for high-value artificial intelligence and machine learning applications. Our focus on customer-driven product definition and commitment to design solutions in the cloud, for the cloud, results in breakthrough execution and scale for our customers. We are headquartered in the heart of California’s Silicon Valley, with R&D centers and offices in Taiwan, China, Vancouver and Toronto, Canada, and Haifa, Israel.

Job Description

We are looking for a Senior Software Engineer with hands-on experience with x86 low level programming including device drivers, boot-up sequence, and BIOS. The ideal candidate would be at ease architecting and implementing hardware-software interfaces, embedded microcontroller subsystems and driving implementation of low-level firmware on high-speed networking chips. The candidate must have good knowledge of communication protocols such as PCI-Express (Gen-3 and above), DDR, Ethernet, NVMe, or similar interfaces.

Basic Qualifications

  • Strong academic and technical background in computer/electrical engineering. At a minimum, a Bachelor’s in EE or Computer Science is required, and a Master’s is preferred.
  • ≥5 years’ experience supporting or developing complex SoC/silicon products for Server, Storage, and/or Networking applications.
  • Experience developing software/firmware running on embedded microcontrollers. Experience developing low level x86 drivers and BIOS.
  • Experience working with logic designers to architect, specify, and verify hardware-software interfaces on complex SoCs.
  • Professional attitude with the ability to prioritize a dynamic list of multiple tasks, to plan and prepare for customer meetings in advance, and to work with minimal guidance and supervision.
  • Entrepreneurial, open-mind behavior and can-do attitude. Think and act fast with the customer in mind!
  • Authorized to work in the US and start immediately.

Required Experience

  • High level of proficiency in C and Python, experience in programming for resource limited micro-controllers is a plus.
  • Hands-on experience in software driver development, customization, integration and testing with abstraction layers (HAL, APIs).
  • Strong understanding of Linux OS (kernel configuration, makefiles, interrupt handlers, etc.).
  • Deep knowledge of x86 boot up process from cold power-on to full OS bring-up. Familiarity with configuration and performance monitoring of server sub-systems.
  • Understanding of boot loader technologies like UEFI, ACPI, coreboot preferred.
  • Hands-on experience with EDK2, Linux codebase and device drivers preferred.
  • Hands-on experience with encryption, authentication, and security in embedded controllers.
  • Familiarity with TPM, TrustZone, secure boot and delivering secure firmware updates.
  • Familiarity with hypervisor technologies (VMWare etc).
  • Experience in developing BIOS software to configure and bring up server sub-systems.
  • Working knowledge of BMC software for cloud scale fleet management.
  • Working knowledge of PCIe, CXL, Ethernet, DDR, SPI, I2C/I3C protocols.

We know that creativity and innovation happen more often when teams include diverse ideas, backgrounds, and experiences, and we actively encourage everyone with relevant experience to apply, including people of color, LGBTQ+ and non-binary people, veterans, parents, and individuals with disabilities.

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)
When autocomplete results are available use up and down arrows to review
+ Add another education

Please reach out to our support team via our help center.
Please complete the reCAPTCHA above.