PCIe Software Engineer
- 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
- As 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
Benefits
- Regular ”Snack Bash” Social Events with food and drinks!
- Biweekly Wellness webinars plus regular Wellness Week events focused on physical, mental, spiritual and financial wellness as well as career development and social activities
- Arista Gives Back: Employee Engagement Giving Drives and Volunteer events
- Medical, Dental & Vision Plan Coverage
- Life Insurance, AD&D, STD & LTD
- Flex Spending Accounts
- Employee Assistance Programs
- PTO & Paid holidays
- 401k Plan
- On-site Gym & Showers
- Secured Bike Lockers
- Secured Bike Lockers
- Flexible hours
- Employee Assistance Benefits that include mental health and backup child and elder care support
- Discounted lunches through WeBox for HQ employees
- Family planning benefits
- PCIe state machine, ltssm, tlp, credit flow control knowledge a plus
- Strong engineering and Computer Science fundamentals
- Experience with PCIe switches
- Solid understanding of PCIe hardware and software drivers
- 3+ years fluency in C or C++. Python experience an added bonus
- If you’re passionate about performance optimizations and enjoy working at the hardware/software boundary, the Platform team is a perfect choice!
- Significant hands-on experience diagnosing problems, troubleshooting issues, and fixing bugs in low-level firmware