Job DescriptionWho You'll Work WithOperating 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 DoAs part of this team, you'll work on projects like:
- Bringing up pcie links on new hardware designs
- Tuning pcie parameters on root ports, bridges, and end points
- Modifying the linux pci drivers and virtual memory allocation
- Using AER and DPC to improve error visibility and resiliency
- Developing userspace software that mediate between networking ASICs, FPGAs, and PCIe bridges.
- Measuring hardware read and write performance
- Develop 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
- PCIe 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
If you're passionate about performance optimizations and enjoy working at the hardware/software boundary, the Platform team is a perfect choice!