PCIe Software Engineer
Arista Networks · Nashua, NH · 6 days ago
Information TechnologyFull-time
Job Description
Who You'll Work With
Operating right where hardware meets software, the Platform team builds the foundation for our networking ASICs and supporting infrastructure. PCIe software engineers write the code that manages high speed communication between hardware components in our switches. We work with hardware, diagnostics, and software engineers to maximize bandwidth and improve reliability on the PCIe links.
What You'll Do
- Bringing up pcie links on new hardware designs
- Tuning pcie parameters on root ports, bridges, and endpoints
- Modifying the linux pci drivers and virtual memory allocation
- Using AER and DPC to improve error visibility and resiliency
- Developing userspace software that mediates between networking ASICs, FPGAs, and PCIe bridges
- Making measurements of hardware read and write performance
- Developing automated tests using C, C++, and Python to validate your features
Qualifications
- Strong engineering and Computer Science fundamentals
- 3+ years fluency in C or C++. Python experience an added bonus
- Solid understanding of PCIe hardware and software drivers
- PXE state machine, LTSSM, TLP, credit flow control knowledge a plus
- Experience with PCIe switches
- Significant hands-on experience diagnosing problems, troubleshooting issues, and fixing bugs in low-level firmware