Senior Software Engineer Linux Kernel
Department:
Job Summary
Who Youll Work With
Aristas Linux Kernel team is responsible for developing and maintaining the Linux kernel in EOS. This includes keeping pace with the latest developments in the upstream Linux Kernel community and integrating new versions of the upstream kernel as they become available. This work also involves designing and implementing new Linux kernel features and working with the upstream kernel development community to get these changes incorporated into the mainline Linux kernel code base. Kernel software engineers are also responsible for the CPU subsystems on all Arista products. You will evaluate new CPUs and work with CPU vendors to integrate their kernel support into EOS. You will also help to bring-up and qualify new CPUs in our hardware products.
Arista Software Engineering roles demand a strong and broad software engineering background. While the primary focus area for this role is Linux Kernel software your work will cover all aspects of software development spanning the addition of new features debugging problems and fine tuning code for scalability and performance. You will own your projects from definition to deployment and customer interactions and you will be responsible for the quality of everything you deliver.
What Youll Do
- 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 Aristas software development environment.
Qualifications :
- 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. Knowledge of C and Python desirable.
- 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 communitys 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
#LI-EO1
Remote Work :
No
Employment Type :
Full-time
Key Skills
About Company
Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments. What sets us apart is our relentless pursuit of innovation. We leverage the latest advancements in cloud computing, artificial intelligence, and sof ... View more