Posted in

Software Engineer – Linux Kernel

Software Engineer – Linux Kernel

CompanyArista Networks
LocationVancouver, BC, Canada
Salary$Not Provided – $Not Provided
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelMid 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