Job Description
Who You’ll Work With
Arista Networks is looking for world-class Senior/Lead Network Systems software engineers.
Network systems software is all about managing hardware components on switches and routers. As a senior/lead Network Systems engineer, you will collaborate and work with customers, product management and hardware engineers to design and build novel features that help Arista hardware run effectively and efficiently. You will write software that controls everything from temperature sensors, fan controllers, power controllers, storage devices to FPGAs, NICs and PCIE switches. You will design abstractions that allow this software to be easily packaged and integrated into hardware drivers that manage all our hardware. You will have the opportunity to design solutions to accelerate key functions using hardware and FPGAs to improve system performance. You will also get to work closely with our hardware engineers throughout the lifecycle of our products - ranging from influencing hardware designs for ease of software control, to bringing up brand new hardware and taking it through the development cycle to market.
What You’ll Do
Arista Software Engineering roles demand a strong and broad software engineering background. While the primary focus area for this role is Network Systems software, 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, product management and hardware engineers to come up with innovative new network systems features.
- 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.
- Work with hardware and manufacturing teams to bring new hardware to market.
- Collaborate with hardware engineers to design optimal software control interfaces for managing hardware components.
- 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.
Qualifications
- 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
- Hands-on experience in the design and development of hardware device drivers and/or system management utilities
- Understanding of IP networking and/or distributed systems is a plus
- Experience working with low level hardware components 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.
#LI-PA1