Software Engineer – Linux Kernel
Company | Arista Networks |
---|---|
Location | Vancouver, BC, Canada |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Mid Level |
Requirements
- BSc, MS or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering with 3+ years of related post graduate work experience
- Expert knowledge of and extensive experience programming in C required
- Significant hands-on experience troubleshooting issues, fixing bugs and developing features in the Linux kernel
- Familiarity with Linux kernel architecture, design and implementation
- Familiarity with the upstream Linux community’s patching process and procedures
- Understanding of IP networking architecture, design and principles
- Applied understanding of modern software engineering principles and practices
- Strong problem solving and troubleshooting skills
- Strong software design and implementation skills
- Ability to work independently and in small teams
- Ability to communicate articulately, and document your designs and implementations clearly, and concisely
- Familiarity with the x86 and ARM CPU architectures
Responsibilities
- Track ongoing developments in the Linux Kernel and identify features and functionality of interest to Arista for our products and for internal development needs
- Develop and maintain EOS Kernel features and tests using C, C++ and Python, review and contribute to functional and design specifications
- Build automated tests and test infrastructure to validate the features
- Work with hardware engineers and vendors to qualify new Kernel dependent hardware components like CPUs and NICs for integration into Arista products
- Work with the Kernel community to contribute features back to the mainline
- Work with a team of Kernel engineers to integrate new versions of the Kernel for use in EOS and our internal development
- Provide technical leadership across features, projects and tools
- Work with Customer Support Engineers and customers to analyze, mitigate and fix problems in customer networks
- 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
Preferred Qualifications
- Knowledge of C++ and Python desirable