Senior/Lead Software Engineer, Network Systems (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 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.
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 Network Systems 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.
- 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.
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.