Logo of Huzzle

Software Engineer - SONiC

  • Job
    Full-time
    Junior Level
  • Software Engineering
    Engineering
  • Vancouver
  • Quick Apply

AI generated summary

  • You should have a relevant degree, 2+ years of experience, knowledge of C/C++/Python, Linux, and L2/L3 networking protocols, strong problem-solving skills, and ability to work in a team.
  • You will design and implement system software, write and execute tests, debug issues, mentor engineers, analyze customer problems, and manage task schedules collaboratively with the team.

Requirements

  • BSc, MS or Ph.D. in Computer Science/Electrical Engineering/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 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

Responsibilities

  • 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.
  • 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 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.

FAQs

What is the main purpose of the Software Engineer - SONiC role at Arista Networks?

The main purpose of the Software Engineer - SONiC role is to develop and deliver SONiC software for Arista switches, working closely with a talented team to implement, test, and debug networking solutions for large data center environments.

What programming languages should I be proficient in for this position?

You should have knowledge of C, C++, and Python programming languages.

What kind of educational background is required for this job?

A BSc, MS, or Ph.D. in Computer Science, Electrical Engineering, or Computer Engineering with 2+ years of related post-graduate work experience is required.

Are there opportunities for mentorship in this position?

Yes, this role involves mentoring new and junior engineers to help them learn Arista’s software development environment and the broader SONiC development process.

What networking knowledge is preferred for applicants?

An understanding of L2/L3 networking, including IP routing protocols (like RIP, OSPF, BGP, IS-IS), and Layer 2 features (such as 802.1d bridging and Spanning Tree Protocols), is desirable.

How does the company ensure diversity and inclusion?

Arista Networks values diversity of thought and perspectives and fosters an inclusive environment where individuals from various backgrounds feel welcome, which is seen as essential for driving creativity and innovation.

What is the salary range for this position?

The base pay range for this role is $95,000 to $145,000, depending on various factors such as skills, qualifications, experience, and work location.

Will I have ownership of my projects in this role?

Yes, you will own your projects from definition to deployment and be responsible for the quality of everything you deliver.

Is experience with distributed systems necessary for this position?

Hands-on experience with infrastructure functions related to distributed systems, such as messaging, signaling, and databases, is desirable.

What additional benefits does Arista offer?

In addition to base pay, Arista offers discretionary bonuses, equity, medical, dental, vision benefits, and a Group Retirement Savings Plan, among others.

Data-Driven Networking

Technology
Industry
1001-5000
Employees
2004
Founded Year

Mission & Purpose

Arista Networks is an industry leader in data-driven, client to cloud networking for large data center, campus and routing environments. Arista’s award-winning platforms deliver availability, agility, automation, analytics and security through an advanced network operating stack.