Senior/Lead Software Engineer, Packet Forwarding (Santa Clara, San Francisco, Austin, Nashua, Vancouver (BC) or Remote) - Arista Networks
Santa Clara, CA
About the Job
Arista Networks was founded to pioneer and deliver software-driven cloud networking solutions for large data center storage and computing environments. Arista’s award-winning platforms, ranging in Ethernet speeds from 10M to 400G bits per second, redefine scalability, agility and resilience. Arista has shipped more than 10 million cloud networking ports worldwide with CloudVision and EOS, an advanced network operating system. Committed to open standards, Arista is a founding member of the 25/50GbE consortium. Arista Networks products are available worldwide directly and through partners.
At the core of Arista's platform is the Extensible Operating System (EOS™), a ground-breaking network operating system with single-image consistency across hardware platforms, and modern core architecture enabling in-service upgrades and application extensibility.
Arista Networks is looking for world-class Senior/Lead Packet Forwarding Engine (PFE) software engineers.
As a Senior/Lead PFE software engineer, you will collaborate and work with customers, product management and engineers to design and build novel packet forwarding features in EOS that help networks run effectively and efficiently. You will need to understand the packet forwarding architecture in depth and figure out how to apply it optimally to solve customer problems. You will design the packet forwarding flow, design data structures and algorithms to render the packet forwarding state used by the forwarding engine for efficiency and scale, and tie it all together with the higher layers.
In this role, you will get to confront complex, multi-dimensional problems such as
“Upgrade software on a switch with no more than a few milliseconds of downtime”
“Render a routing table with >1M routes into the forwarding path on a router with a hundred forwarding chips”
that are open ended, challenging, fun and require strong problem solving skills.
Arista Software Engineering roles demand a strong and broad software engineering background. While the primary focus area for this role is packet forwarding, the role will cover all aspects of software development spanning the addition of new features, debugging problems and fine tuning code for scalability and performance. You will own your projects from definition to deployment and customer interactions, and you will be responsible for the quality of everything you deliver.
Arista Software Engineering prides itself on a supportive and growth oriented culture. Over time, as your interests change, coupled with evolving business needs you will have the opportunity to switch from packet forwarding to other areas, if you like.
Responsibilities
- Interface with customers and product management to define packet forwarding features and solutions.
- Architect, design and manage the development of these features.
- Develop and maintain features using C, C++ and Python, review and contribute to functional and design specifications. Build automated tests and test infrastructure to test the features.
- Provide technical leadership across features, projects and tools.
- Work with Customer Support Engineers and customers to analyze, mitigate and fix problems in customer networks.
- 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.
- BS Computer Science/Electrical Engineering/Computer Engineering + 8 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 6 years experience, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering + 3 years experience, or equivalent work experience
- Expert knowledge of C or C++ and Python.
- Knowledge of UNIX or Linux
- Understanding of IP networking and/or distributed systems
- Experience working with packet forwarding chips and pipelines is a plus
- Applied understanding of software engineering principles
- Strong problem solving and software troubleshooting skills
- Ability to design a solution and implement features independently.
- Ability to work in small teams.
Where legally permitted, Arista requires all candidates for U.S.-based positions to be fully vaccinated against Covid-19 or have an approved accommodation under applicable law. Candidates anticipating seeking an accommodation should contact Arista HR before their start date. Candidates accepting an offer must provide proof of vaccination status on their first day. All offers of employment are contingent upon complying with Arista's vaccination policy.
By submitting your interest in this job, you agree to receive text notifications with additional steps to complete your job application. You will receive up to 6 messages from the number "63879". Message & data rates may apply. Please refer to our privacy policy for more information.