IT & Software

Software Engineer - SONiC

Arista Networks, Inc.

Vancouver · Metro Vancouver Regional District · Canada

Requirements

  • BSc, MS or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering with 3+ years of related post graduate work experience
  • Knowledge of C, C++, and/or python
  • Knowledge of UNIX or Linux
  • Understanding of L2/L3 networking including at least one of the following areas is desirable:
  • IP routing protocols, such as RIP, OSPF, BGP, IS-IS, or PIM
  • Layer 2 features such as 802.1d bridging, the 802.1d Spanning Tree Protocol, the 802.1ax Link Aggregation Control Protocol, the 802.1AB Link Layer Discovery Protocol, or RFC 1812 IP routing
  • Ability to utilize, test, and debug packet forwarding engine and a hardware component’s vendor provided software libraries in your solutions
  • Infrastructure functions related to distributed systems such as messaging, signaling, databases, and command line interface techniques
  • Hands‑on experience in the design and development of ethernet bridging or routing related software or distributed systems software is desirable
  • Hands‑on experience with enterprise or service provider class Ethernet switch/router system software development, or significant PhD level research in the area of network routing and packet forwarding is desirable
  • 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

What the job involves

  • Arista Networks is looking for world‑class software engineers to join our Software for Open Networking in the Cloud (SONiC) software development team
  • As a core member of the SONiC team, you will be part of a fast‑paced, high caliber team building and qualifying features to run the world’s largest data center networks
  • The SONiC team is responsible for all aspects of the development and delivery of SONiC software meant to run on various Arista switches
  • You will work with your fellow engineers and members of the marketing team to gather and understand the functional and technical requirements for upcoming projects
  • You will help write functional specifications, design specifications, test plans, and the code to bring all of these to life and work with the SONiC community to upstream the code/test changes
  • 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
  • This role demands strong and broad software engineering fundamentals, and ideally a good understanding of networking including capabilities like L2, L3, and fundamentals of commercial switching HW
  • Write functional specifications and design specifications for system software to manage hardware components
  • Independently implement solutions to small‑sized problems in the system software using the C, C++, and python programming languages
  • Write test plan specifications for small‑sized features 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 routing protocol problems
  • Worth 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 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 as well as broader SONiC development
  • Review and contribute to the specifications and implementations written by other team members and the SONiC community
  • Help to create a schedule for the implementation and debugging tasks, update that schedule weekly, and report it to the project lead

#J-18808-Ljbffr

Reference: WJ-4703_8963398

Find more on GigBlows

This role is listed on GigBlows for discovery and search. Hiring decisions and applications are handled by the employer or their chosen application system.