Astera Labs Inc., a leader in purpose-built connectivity solutions for data-centric systems, is seeking a senior/principal Software Engineer for their Santa Clara (California) Design Center. Partnering with leading processor vendors, cloud service providers, seasoned investors and world-class manufacturing companies, Astera Labs is helping data-centric system designers remove performance bottlenecks in compute-intensive workloads such as Artificial Intelligence and Machine Learning.
We are looking for a Senior/Principal 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.
- 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.
- High level of proficiency in C/C++ (preferred) and programming for resource limited controllers.
- 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.