Network Automation Engineer
Arista Networks
Company Description
Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments. What sets us apart is our relentless pursuit of innovation. We leverage the latest advancements in cloud computing, artificial intelligence, and software-defined networking to provide our clients with a competitive edge in an increasingly interconnected world. Our solutions are designed to not only meet the current demands of the digital landscape but to also anticipate and adapt to future challenges.
At Arista we value the diversity of thought and perspectives that each employee brings to the table. We believe that fostering an inclusive environment, where individuals from various backgrounds and experiences feel welcome, is essential for driving creativity and innovation.
Our commitment to excellence has earned us several prestigious awards, such as Best Engineering Team, Best Company for Diversity, Compensation, and Work-Life Balance. At Arista, we take pride in our track record of success and strive to maintain the highest standards of quality and performance in everything we do.
Job Description
Who You’ll Work With
Arista Networks is seeking a talented and motivated Network Automation Engineer to develop automated test suites for our large scale, solution-based topologies. You will play a crucial role within our development and test teams, focusing on the timely qualification of our Arista EOS network operating system. Your primary responsibility will be to design, implement, and maintain robust automated test cases to ensure the highest quality standards for our Arista product lines. This role demands strong Python programming skills and a solid foundation in network engineering principles.
What You’ll Do
- Contribute to the design and implementation of our network automation infrastructure, specifically focusing on the development of device classes and automated test cases.
- Develop abstracted methods for provisioning and monitoring network devices.
- Create extensible and easily maintainable automated test cases leveraging our abstracted device class methods.
- Integrate automated test cases into our CI/CD pipelines to enable rapid and continuous testing.
- Monitor test execution, analyze results, and perform root cause analysis of failures, creating detailed bug reports as needed.
- Collaborate closely with development and test teams to ensure comprehensive test coverage and timely issue resolution.
Qualifications
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field.
- Minimum of 3 years of professional experience with the Python programming language.
- Strong grasp of object-oriented programming (OOP) principles and design patterns, including abstraction, encapsulation, inheritance, and composition.
- Proven experience with automated testing methodologies and frameworks relevant to network automation.
- Experience provisioning and monitoring network devices using various APIs (e.g. REST, Ansible, OpenConfig, gNMI).
- Solid understanding of core networking protocols (e.g. TCP/IP, BGP, VLANs, VXLAN, EVPN).
- Experience utilizing traffic generation tools (e.g. Ixia, Spirent) for testing purposes.
- Proficient understanding of the Linux operating system.
- Experience with Git version control.
- Familiarity with CI/CD pipelines and tools (e.g., Jenkins, GitLab CI/CD) is a plus.
- Excellent problem-solving and analytical abilities.
- Strong written and verbal communication, and collaboration skills.