People Matter

Senior/Lead Software Engineer (Packet Forwarding Engines)

Arista Networks

Arista Networks

Software Engineering
Vancouver, BC, Canada
Posted on Jun 19, 2024

Company Description

Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments. What sets us apart is our relentless pursuit of innovation. We leverage the latest advancements in cloud computing, artificial intelligence, and software-defined networking to provide our clients with a competitive edge in an increasingly interconnected world. Our solutions are designed to not only meet the current demands of the digital landscape but to also anticipate and adapt to future challenges.

At Arista we value the diversity of thought and perspectives that each employee brings to the table. We believe that fostering an inclusive environment, where individuals from various backgrounds and experiences feel welcome, is essential for driving creativity and innovation.

Our commitment to excellence has earned us several prestigious awards, such as Best Engineering Team, Best Company for Diversity, Compensation, and Work-Life Balance. At Arista, we take pride in our track record of success and strive to maintain the highest standards of quality and performance in everything we do.

Job Description

Who You’ll Work With

Arista Networks is looking for world-class Senior/Lead software engineers to join our Packet Forwarding Engines (PFE) and System software development team. As a core member of the PFE software and System software team, you will be part of a fast-paced, high caliber team building packet forwarding engine and system software to manage the world's most complex networking ASICs used to build the industry's largest data center networks. Your software will be a key component of Arista's Extensible Operating System (EOS), Arista's unique, Linux-based network operating system that runs on all of Arista's data center networking products.

The Packet Forwarding Engines and System software team is responsible for all aspects of the development and delivery of our ASIC-based forwarding engine software. You will work with your fellow engineers to understand functional and technical requirements for upcoming projects. You will write functional specifications, design specifications, test plans, and the code to bring all of these to life. You will also work with customers to triage and fix problems in their networks. Internally, you will develop automated tests for your software, monitor the execution of those tests, and triage and fix problems found by your tests. At Arista, you will own your projects from definition to deployment, and you will be responsible for the quality of everything you deliver.

What You’ll Do

This role demands strong software engineering fundamentals, and a good understanding of ASIC-based packet forwarding engines, hardware components (like temperature sensors, fan controllers, etc), board system management software, how the software that manages them is implemented, and the networks in which they are used. Your role will not be limited to any single aspect of managing ASIC-based packet forwarding engines at Arista, but cover all aspects of bringing up new hardware, developing all features requiring hardware forwarding support (including low-level hardware drivers), testing the software and hardware, and supporting our customers using the products you build.

Responsibilities:

  • Write functional specifications and design specifications for small-sized packet forwarding engine features and system software to manage hardware components.
  • Independently implement solutions to small-sized problems in our packet forwarding engine software and system software using the C, C++, and python programming languages.
  • Understand, utilize, test, and debug packet forwarding engine and hardware components vendor-provided software libraries in your solutions.
  • Write test plan specifications for small-sized packet forwarding engine features and system software, and implement automated test programs to execute the cases described in the test plan.
  • Debug problems found by our automated test programs and fix the problems.
  • Work on a team implementing, testing, and debugging solutions to larger packet forwarding engine software problems and system software issues.
  • Work with Customer Support Engineers to analyze problems in customer networks and provide fixes for those problems when needed in the form of new software releases or software patches.
  • Work with the hardware team and hardware component vendors to bring up initial versions of new systems using packet forwarding engines and system software.
  • Work with the diagnostic software team to design and develop software for the validation of new packet forwarding engine ASICs and hardware components.
  • Work with the System Test Engineers to analyze problems found in their tests and provide fixes for those problems.
  • Mentor new and junior engineers to bring them up to speed in Arista's software development environment.
  • Review and contribute to the specifications and implementations written by other team members.
  • Help to create a schedule for the implementation and debugging tasks, updating that schedule weekly, and reporting it to the project lead.

Qualifications

  • BS Computer Science/Electrical Engineering/Computer Engineering + 8 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 6 years experience, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering + 3 years experience, or equivalent work experience
  • Experience or knowledge in the following:
  • C or C++
  • Knowledge of UNIX or Linux
  • Understanding of IP networking or distributed systems
  • Applied understanding of software engineering principles
  • Strong problem solving and software troubleshooting skills
  • Ability to design a solution to a small-sized problem, and implement that solution without outside help. Able to work on a small team solving a medium-sized problem with limited oversight.

#LI-PA1

Additional Information

The new hire base pay for this role has a pay range of $120,000 to $195,000 across Canada. Arista offers different pay ranges based on work location, so that we can offer consistent and competitive pay appropriate to the market. The actual base pay offered will be based on a wide range of factors, including skills, qualifications, relevant experience, and work location.

The pay range provided reflects base pay only and in addition certain roles may also be eligible for discretionary Arista bonuses and equity. Employees in Sales roles are eligible to participate in Arista’s Sales Incentive Plan, which pays commissions calculated as a percentage of eligible sales. Employees are also entitled to benefits including medical, dental, vision, wellbeing, income protection and a Group Retirement Savings Plan. The recruiting team can share more details during the hiring process specific to the role and location.