Write functional specifications and design specifications for small-sized routing protocol features.Independently implement solutions to small-sized problems in our routing protocol software, using the C, C++, and python programming languages.Write test plan specifications for small-sized routing protocol features, 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 to larger routing protocol problems.Work with Customer Support Engineers to analyze problems in customer networks 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 Aristas 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.B.Tech, M.Tech or Ph.D. in Computer Science / Electrical Engineering / Computer Engineering with 2-8 years of related work experienceKnowledge of C or C++Knowledge of UNIX or LinuxUnderstanding of IP networking and IP routing protocols, specifically one of RIP, OSPF, BGP, IS-IS, or PIM.Hands-on experience in the design and development of IP routing protocol or distributed systems software.Hands-on experience with enterprise or service provider class, Ethernet switch / router system software development, or significant PhD-level research in the area of network routing and packet forwarding.Applied understanding of software engineering principlesStrong problem-solving and software troubleshooting skills.Ability to design a solution to a small-sized problem and implement that solution without outside help. Able to work on a small team solving a medium-sized problem with limited oversightSkills Required
C, C++, Unix, Linux, Python