BIOS Senior/Lead Software Engineer
$140,000–$210,000 year
On-site · Santa Clara, California, United States
Job Summary
Senior/Lead BIOS software engineer role at Arista Networks focused on designing, developing, integrating, and maintaining low-level CPU firmware, BIOS, and boot loader software for Arista products. Responsibilities include building automated tests using C, C++, and Python; qualifying new CPUs with hardware engineers and vendors; tracking Linux kernel developments; contributing features to upstream open source BIOS communities; reviewing specifications; collaborating with Customer Support Engineers and System Test Engineers to analyze and fix issues in customer networks; and providing technical leadership and mentoring to engineers. Requires advanced degree-specific years of experience in CPU firmware domains and strong skills in C (with C++/Python desired), with experience in boot/initialization software, CPU board bring-up, and low-level debugging; familiarity with Linux kernel architecture and IP networking is desirable; ability to work independently and in small teams, and strong communication/documentation skills.
Required Qualifications
- BS Computer Science/Electrical Engineering/Computer Engineering + 8 years experience
- MS Computer Science/Electrical Engineering/Computer Engineering + 6 years experience
- Ph.D. in Computer Science/Electrical Engineering/Computer Engineering + 3 years experience
- Equivalent work experience
- Expert knowledge of and extensive experience programming in C
- Knowledge of C++ and Python is desirable
- Experience designing and developing software in CPU firmware, BIOS and boot loader environments
- Experience bringing up new CPU boards
- Significant hands-on experience diagnosing problems, troubleshooting issues, and fixing bugs in low-level CPU firmware, BIOS and boot loader software
- Familiarity with Linux kernel architecture, design and implementation desirable
- Understanding of IP networking architecture, design and principles desirable
- Applied understanding of modern software engineering principles and practices
- Strong problem solving and troubleshooting skills
- Strong software design and implementation skills
- Ability to work independently and in small teams
- Ability to communicate articulately, and document your designs and implementations clearly, and concisely
- Familiarity with and experience working with the x86 and ARM CPU architectures
Apply with one swipe on Sorce. We auto-fill applications and apply on your behalf — no cover letters, no 40-minute forms.
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.