Software Engineer – SONiC
Job Description
As a Software Engineer, you will: * Develop functional and design specifications for system software tailored to manage hardware components. * Independently craft solutions for system software challenges, utilizing C, C++, and Python. * Create test plan specifications for features and automate test programs. * Identify and resolve issues uncovered by automated tests. * Collaborate with a team to implement, test, and debug solutions for intricate routing protocol problems. * Partner with Customer Support Engineers to address customer network issues and provide software fixes or patches. * Analyze problems identified by System Test Engineers and implement effective solutions. * Mentor junior engineers, fostering their growth within Arista’s software development environment and SONiC development. * Review and contribute to specifications and implementations from team members and the SONiC community. * Create project schedules for implementation and debugging tasks, providing weekly updates to the project lead.
Qualifications
1. BSc, MS, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering with 2+ years of related post-graduate experience. 2. Proficiency in C, C++, and/or Python. 3. Familiarity with UNIX or Linux. 4. Understanding of L2/L3 networking, including IP routing protocols such as RIP, OSPF, BGP, IS-IS, or PIM. 5. Knowledge of Layer 2 features such as 802.1d bridging, Spanning Tree Protocol, Link Aggregation Control Protocol, Link Layer Discovery Protocol, or RFC 1812 IP routing. 6. Ability to utilize, test, and debug packet forwarding engine and hardware component vendor-provided software libraries. 7. Experience with infrastructure functions related to distributed systems, including messaging, signaling, databases, and command-line interface techniques. 8. Hands-on experience in the design and development of Ethernet bridging or routing software or distributed systems software. 9. Experience with enterprise or service provider-class Ethernet switch/router system software development, or significant Ph.D. level research in network routing and packet forwarding. 10. Applied understanding of software engineering principles. 11. Strong problem-solving and software troubleshooting skills. 12. Ability to design a solution to a small-sized problem and implement it independently. 13. Capable of working in a small team to solve a medium-sized problem with limited oversight.
Benefits
- Health insurance - 401(k) matching - Flexible work hours - Paid time off - Remote work options
Apply Now
