07 Aug
|
Arista Networks
|
British Columbia
07 Aug
Arista Networks
British Columbia
PCIe Senior/Lead Software Engineer at Arista Networks. About the role You will be an essential part of the Platform team, working at the critical junction of hardware and software development. Your primary responsibility will be to develop and optimize software that enables high-speed communication between hardware components within networking switches. This role involves close collaboration with hardware engineers, firmware developers, and system architects to improve system bandwidth, reliability, and overall performance. You will be involved in designing, implementing, and testing software solutions that ensure efficient PCIe link initialization, error handling, and performance tuning. The position offers an exciting opportunity to work on cutting-edge networking hardware, contributing to the development of scalable, high-performance data center solutions. Your work will directly impact the robustness and speed of Arista's networking products, supporting large-scale data centers and enterprise networks.
Key facts Location: Vancouver
Engagement: Full-time
Team: Platform Team
What you'll do Initiate PCIe link training procedures on new hardware configurations to ensure proper link establishment and optimal performance.
Optimize PCIe settings for root ports, PCIe bridges, and endpoints to maximize throughput and stability.
Modify and enhance Linux PCIe drivers, including kernel modules, to support current hardware features and improve existing functionalities.
Manage virtual memory allocations associated with PCIe devices to ensure efficient resource utilization and system stability.
Implement Advanced Error Reporting (AER) and Data Path Correction (DPC) techniques to detect, report, and recover from hardware errors, thereby increasing system robustness.
Develop userspace software applications that facilitate communication between networking ASICs, FPGAs, and PCIe bridges, ensuring seamless data transfer and control.
Measure hardware read and write performance metrics, analyze bottlenecks, and recommend improvements to enhance throughput and latency.
Design and implement automated testing frameworks using C, C++, and Python to verify hardware and software functionality, reliability, and compliance with specifications.
Collaborate with hardware engineers to troubleshoot PCIe-related issues, diagnose hardware/software incompatibilities and resolve system crashes or errors.
Contribute to firmware development and low-level software for PCIe components, ensuring compliance with industry standards and internal quality benchmarks.
Document technical specifications, test plans, and results to facilitate knowledge sharing across teams and support future development efforts.
Participate in code reviews, design discussions, and technical planning sessions to ensure high-quality deliverables aligned with project goals.
Stay updated on the latest PCIe standards, hardware advancements, and industry best practices, integrating new knowledge into ongoing projects.
Support the deployment and integration of PCIe solutions in customer environments, providing technical guidance and troubleshooting assistance as needed.
Requirements Bachelor's or higher degree in Engineering, Computer Science, Electrical Engineering, or a related technical field.
Over 8 years of professional experience working with C or C++ in a hardware or embedded systems environment.
Proficiency in Python scripting for automation, testing, and data analysis tasks.
Extensive knowledge of PCIe hardware architecture, including understanding of PCIe link training, enumeration, and configuration.
Deep understanding of PCIe software driver development, including Linux kernel PCIe driver modification and troubleshooting.
Familiarity with PCIe state machines, LTSSM (Link Training and Status State Machine), TLP (Transaction Layer Packets), and credit flow control mechanisms.
Hands‑on experience working with PCIe switches, root complexes, and endpoint devices in a high‑performance environment.
Proven ability to troubleshoot and resolve low-level firmware and driver issues, including hardware/software incompatibilities and system crashes.
Experience with Linux kernel development, driver debugging, and kernel module programming.
Strong problem‑solving skills, attention to detail, and the ability to work independently and collaboratively in a team workplace.
Excellent communication skills, capable of documenting complex technical information clearly and effectively.
Knowledge of hardware validation, testing tools, and methodologies relevant to PCIe and networking hardware is a plus.
Familiarity with FPGA development environments and integration processes is advantageous.
Understanding of ITAR compliance and security standards relevant to hardware and firmware development is beneficial.
Nice to have Experience with hardware validation and testing tools such as oscilloscopes, protocol analyzers, and logic analyzers.
Knowledge of FPGA design and development, including HDLs languages like VHDL or Verilog.
Familiarity with network switch hardware architecture and design principles.
Experience working in environments requiring strict security and compliance standards, such as ITAR.
Prior involvement in developing or testing high‑speed communication protocols beyond PCIe, such as Ethernet or InfiniBand.
Skills & tools C and C++ programming languages for low‑level software and driver development.
Python scripting for automation, testing, and data analysis.
Linux kernel and driver development, including kernel module programming and debugging.
Deep understanding of PCIe hardware specifications, including protocol layers and transaction mechanisms.
Hardware troubleshooting and diagnostics, including familiarity with PCIe protocol analyzers and logic analyzers.
Automated testing frameworks and scripting to verify hardware and driver functionality.
Version control systems such as Git for code management and collaboration.
Familiarity with hardware design tools and FPGA development environments is a plus.
Practical notes This role is based on‑site in Vancouver; remote work or hybrid arrangements are not specified.
The salary range for this position is $120,000 to $195,000 CAD, depending on experience, skills, and qualifications.
Compensation may include discretionary bonuses and equity opportunities, aligned with company policies.
The stated pay range applies solely to base salary; additional benefits and incentives may be provided.
Benefits include comprehensive medical, dental, and vision coverage, wellbeing support programs, income protection, and a Group Retirement Savings Plan.
The actual salary offered will be determined based on relevant experience, skills, and geographic location within Canada.
Arista Networks emphasizes diversity and inclusion, fostering an environment of innovation and collaboration.
The company is committed to providing a supportive workplace that values technical excellence, continuous learning, and professional growth.
This position offers an opportunity to work on cutting‑edge networking hardware, influencing the future of data center and enterprise networking solutions.
#J-18808-Ljbffr
📌 PCIe Senior/Lead Software Engineer (British Columbia)
🏢 Arista Networks
📍 British Columbia