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.
- Work with Customer Support Engineers to analyze problems in customer installations and provide fixes for those problems when needed in the form of new software releases or software patches.
- 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.
- Review and contribute to the specifications and implementations written by other team members.
- Help to create a schedule for the implementation and debugging tasks, update that schedule weekly, and report it to the project lead.
Requirements
- Strong and broad software engineering fundamentals
- 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
- Ability to work with, understand and modify existing open source software
Nice to Have
- Understanding of networking including L2 and L3 and switching ASICs