
Expert/Principal Software Engineer
- Vancouver, BC
- Permanent
- Temps-plein
- 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.
- Worth 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.
- BS Computer Science/Electrical Engineering/Computer Engineering + 12 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 10 years experience, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering + 7 years experience or equivalent work experience
- Knowledge of C, C++, and python.
- Hands-on experience working with open source software.
- Experience writing Linux drivers and APIs for managing hardware or other software resources.
- Experience programming ASICs and other custom hardware.
- Ability to utilize, test, and debug open source software libraries and other software used in your development activities.
- Infrastructure functions related to distributed systems such as messaging, signalling, databases, and command line interface techniques.
- Applied understanding of software engineering principles.
- Strong 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 oversight.
Nous sommes désolés mais ce recruteur n'accepte pas les candidatures en provenance de l'étranger.