Software Engineer – Sonic
Company | Arista Networks |
---|---|
Location | Vancouver, BC, Canada |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Mid Level |
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
- Ability to utilize, test, and debug packet forwarding engine and a hardware component’s vendor provided software libraries in your solutions
- 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.
Preferred Qualifications
- 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
- 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