Remote
Expert/Principal Software Engineer
About this role
Who You’ll Work With Arista Networks is looking for world-class Senior/Lead system software engineers to join our Extensible Operating System (EOS) software development team. As a core member of the EOS team, you will be part of a fast-paced, high caliber team-building features to run the world's largest data center networks. Your software will be a key component of Arista's EOS and related software, Arista's unique, Linux-based network operating system that runs on all of Arista's data center networking products.
The EOS team is responsible for all aspects of the development and delivery of software meant to run on the various Arista switches. You will work with your fellow engineers and members of the marketing team to gather and understand the functional and technical requirements for upcoming projects. You will help write functional specifications, design specifications, test plans, and the code to bring all of these to life.
You will also work with customers to triage and fix problems in their networks. Internally, you will develop automated tests for your software, monitor the execution of those tests, and triage and fix problems found by your tests. At Arista, you will own your projects from definition to deployment, and you will be responsible for the quality of everything you deliver. What You’ll Do This role demands strong and broad software engineering fundamentals, and ideally a good understanding of linux system software including various IPC mechanisms like sockets, shared memory etc and interfacing with hardware via applications, device drivers and APIs.
Working with, understanding and modifying existing open source software will be part of the role. An understanding of networking including L2 and L3 and switching ASICs will be helpful but not essential to your role. Your role will not be limited to a single aspect of EOS at Arista, but cover all aspects of EOS. Responsibilities: Write functional specifications and design specifications for drivers and API to manage hardware devices in linux and implement.
Independently implement solutions to small-sized problems in our EOS and related software, using the C, C++, and python programming languages. Write test plan specifications and implement automated test programs to execute the cases described in the test plan. Debug problems found by our automated test programs and fix the problems. Work on a team implementing, testing, and debugging solutions for networking infrastructure include AI networking.