Senior/Lead Software Engineer, EOS Routing (Austin TX or 100% Remote)
The EOS Routing team is responsible for developing IP routing protocols (BGP, OSPF, IS-IS, PIM, etc), MPLS signaling protocols (LDP, RSVP, etc ), and DC and SP technologies like VxLAN, Segment Routing and EVPN. This team has broad ownership of developing software for the control plane, software datapath and the hardware abstraction layer (HAL) for managing unicast and multicast routing for IPv4 and IPv6 as part of Arista Extensible Operating System (EOS). This team is also responsible for developing innovative routing features based on programmable RPC/REST APIs, SDK and monitoring of routing state through protocols and streaming telemetry. This is a global team spanning multiple geographies working on cutting edge software that is deployed in the largest Data Center (DC), Cloud provider, Internet/WAN and Service Provider (SP) environments with a constant eye on scale and performance.
Arista provides an open Engineering-driven culture which fosters innovation and enables engineers to Learn, Lead and Thrive. Our adoption of modern software tools and processes and strong focus on automation enables our engineers to be amongst the most productive in the industry. Arista's products are purpose built with the scale, performance and quality required to operate in some of the most demanding environments in the industry. This provides engineers the platform and rigor to learn and gain experience in building complex, distributed and scalable software systems. Arista engineers collaborate and work seamlessly across various feature areas to deliver top-notch network solutions.
Responsibilities
Understand requirements from customers, product managers and field engineers, and write functional specifications
Architect, design, develop and maintain Layer 3/Routing protocols, solutions and features using C, C++ and Python
Author test plans, build automated tests and infrastructure to test the features.
Work with support engineers and customers to troubleshoot and resolve problems in their networks
Own all aspects of development and delivery of software
Provide technical leadership across features, projects and tools
Mentor new and junior engineers to bring them up to speed in Arista's software development environment
Work with the System Test Engineers to analyze problems found in their tests and provide fixes for those problems
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
Proficiency in C or C++ and Python
Software development experience with Linux
Understanding and ability to apply software engineering principles
Strong problem solving and software troubleshooting skills
Strong communication skills and the ability to work in a small team environment
Ability to design a solution and implement features independently
Hands on experience developing networking or distributed systems software is a plus
Knowledge and experience in networking protocols and technologies such as BGP, IS-IS, LDP, OSPF, PIM, RSVP, EVPN, Segment Routing, VPWS, VPLS, LDP Pseudowires is a plus
All your information will be kept confidential according to EEO guidelines.