PCIe Software Engineer
Core
Develops software to manage high-speed PCIe communication between hardware components in networking switches, optimizing bandwidth and reliability.
Role type
Mid-level IC PCIe software engineer
Builds
Networking ASICs and supporting infrastructure (via careerplan.io/jobs/744000122557787-pcie-software-engineer-at-arista-networks)
Domain
Networking hardware / Low-level firmware
Required skills
C, C++, Linux PCI drivers, PCIe state machine, ltssm, tlp, credit flow control, hardware/software boundary debugging
Preferred skills
Python, PCIe switches, AER, DPC
Technologies
Linux, C, C++, Python
Responsibilities
Bring up PCIe links on new hardware designs, tune PCIe parameters on root ports/bridges/endpoints, modify Linux PCI drivers and virtual memory allocation, develop userspace software mediating between ASICs/FPGAs/PCIe bridges, measure hardware read/write performance, develop automated tests.
Seniority
Mid-level, hands-on IC
