Overview
Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments. We leverage the latest advancements in cloud computing, artificial intelligence, and software-defined networking to provide clients with a competitive edge in an increasingly interconnected world.
Role
Arista Networks is looking for world-class software engineers to join the 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 fellow engineers and members of the marketing team to gather and understand functional and technical requirements for upcoming projects. You will own your projects from definition to deployment and be responsible for the quality of everything you deliver.
Responsibilities
- •Write functional specifications and design specifications for system software to manage hardware components.
- •Independently implement solutions to small-sized problems in system software using C, C++, and Python.
- •Write test plan specifications for small-sized features and implement automated test programs.
- •Debug problems found by automated test programs and fix them.
- •Work on a team implementing, testing, and debugging solutions to larger routing protocol problems.
- •Work with Customer Support Engineers to analyze problems in customer networks and provide fixes via new software releases or patches.
- •Work with System Test Engineers to analyze problems found in their tests and provide fixes.
- •Mentor new and junior engineers in Arista's software development environment and broader SONiC development.
- •Review and contribute to specifications and implementations written by other team members and the SONiC community.
- •Help create and maintain a schedule for implementation and debugging tasks, updating it weekly and reporting to the project lead.
Requirements
- •BSc, MS, or PhD in Computer Science, Electrical Engineering, or Computer Engineering with 2+ 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:
- •IP routing protocols such as RIP, OSPF, BGP, IS-IS, or PIM.
- •Layer 2 features such as 802.1d bridging, Spanning Tree Protocol, Link Aggregation Control Protocol, Link Layer Discovery Protocol, or RFC 1812 IP routing.
- •Ability to utilize, test, and debug packet forwarding engines and hardware component vendor-provided software libraries.
- •Knowledge of infrastructure functions related to distributed systems such as messaging, signaling, databases, and CLI techniques.
- •Hands-on experience in 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 network routing and packet forwarding is desirable.
- •Applied understanding of software engineering principles.
- •Strong problem solving and software troubleshooting skills.
- •Ability to design and implement solutions to small-sized problems independently, and work on a small team solving medium-sized problems with limited oversight.