SlipstreamJobs tracks this role from the company's public career site. Apply directly on the employer's site.
Arista Networks' Linux Kernel team is seeking a Senior Software Engineer to develop and maintain the Linux kernel in EOS (Extensible Operating System). You will track upstream Linux kernel developments, identify features relevant to Arista products, and integrate new kernel versions as they become available. Your responsibilities include designing and implementing new Linux kernel features, working with the upstream kernel community to contribute changes to mainline code, and managing CPU subsystems across all Arista products.
Key responsibilities:
- Monitor and evaluate developments in the Linux kernel community, identifying features and functionality of strategic interest to Arista
- 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 features
- Collaborate with hardware engineers and vendors to qualify new kernel-dependent components (CPUs, NICs) for integration into Arista products
- Contribute features back to the mainline Linux kernel community
- Work with a team of kernel engineers to integrate new kernel versions into EOS and internal development environments
- Provide technical leadership across features, projects, and tools
- Partner with Customer Support Engineers and customers to analyze, mitigate, and fix problems in production networks
- Work with System Test Engineers to analyze test failures and provide fixes
- Mentor junior engineers in Arista's software development environment
You will own projects from definition through deployment and customer interactions, with responsibility for the quality of all deliverables. This role spans all aspects of software development: feature addition, debugging, and performance optimization.
Requirements:
- BSc, MS, or Ph.D. in Computer Science, Electrical Engineering, or Computer Engineering with 3+ years of post-graduate work experience
- Expert knowledge and extensive hands-on 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
- Understanding of 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
- Strong communication and documentation skills
- Familiarity with x86 and ARM CPU architectures