Expert/Principal Software Engineer
- Role
- Backend
- Experience
- Principal
- Employment
- Full-time
- Company size
- Enterprise
Open to CA only. Set where you work from to check your eligibility.
No BS summary
Principal-level system software engineer for Arista EOS in Vancouver/Canada, with 7–12+ years depending on degree. Needs C, C++, Python, Linux drivers/APIs, open-source software, ASIC/custom hardware, and distributed-systems infrastructure experience.
Core skills
Required skills
Optional skills
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 software-defined networking to provide our clients with a competitive edge in an increasingly interconnected world. Our solutions are designed to not only meet the current demands of the digital landscape but to also anticipate and adapt to future challenges.
At Arista we value the diversity of thought and perspectives that each employee brings to the table. We believe that fostering an inclusive environment, where individuals from various backgrounds and experiences feel welcome, is essential for driving creativity and innovation.
Our commitment to excellence has earned us several prestigious awards, such as Best Engineering Team, Best Company for Diversity, Compensation, and Work-Life Balance. At Arista, we take pride in our track record of success and strive to maintain the highest standards of quality and performance in everything we do.
Who You’ll Work With
Arista Networks is looking for world-class Senior/Lead system software engineers to join our Extensible Operating System (EOS) software development team. As a core member of the EOS team, you will be part of a fast-paced, high caliber team-building features to run the world's largest data center networks. Your software will be a key component of Arista's EOS and related software, Arista's unique, Linux-based network operating system that runs on all of Arista's data center networking products.
The EOS team is responsible for all aspects of the development and delivery of software meant to run on the various Arista switches. You will work with your fellow engineers and members of the marketing team to gather and understand the functional and technical requirements for upcoming projects. You will help write functional specifications, design specifications, test plans, and the code to bring all of these to life. You will also work with customers to triage and fix problems in their networks. Internally, you will develop automated tests for your software, monitor the execution of those tests, and triage and fix problems found by your tests. At Arista, you will own your projects from definition to deployment, and you will be responsible for the quality of everything you deliver.
What You’ll Do
This role demands strong and broad software engineering fundamentals, and ideally a good understanding of linux system software including various IPC mechanisms like sockets, shared memory etc and interfacing with hardware via applications, device drivers and APIs. Working with, understanding and modifying existing open source software will be part of the role. An understanding of networking including L2 and L3 and switching ASICs will be helpful but not essential to your role. Your role will not be limited to a single aspect of EOS at Arista, but cover all aspects of EOS.
Responsibilities:
- 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.
#LI-PA1
The new hire base pay for this role has a pay range of $140,000 to $210,000 across Canada. Arista offers different pay ranges based on work location, so that we can offer consistent and competitive pay appropriate to the market. The actual base pay offered will be based on a wide range of factors, including skills, qualifications, relevant experience, and work location.
The pay range provided reflects base pay only and in addition certain roles may also be eligible for discretionary Arista bonuses and equity. Employees in Sales roles are eligible to participate in Arista’s Sales Incentive Plan, which pays commissions calculated as a percentage of eligible sales. Employees are also entitled to benefits including medical, dental, vision, wellbeing, income protection and a Group Retirement Savings Plan. The recruiting team can share more details during the hiring process specific to the role and location.
What you'll do
- Write functional specifications and design specifications for drivers and APIs to manage hardware devices in Linux and implement them.
- Independently implement solutions to small-sized problems in EOS and related software using C, C++, and Python.
- Write test plan specifications and implement automated test programs to execute test plan cases.
- Debug problems found by automated test programs and fix them.
- Work on a team implementing, testing, and debugging solutions for networking infrastructure including AI networking.
- Work with Customer Support Engineers to analyze problems in customer installations and provide fixes through new software releases or software patches when needed.
- Work with System Test Engineers to analyze problems found in their tests and provide fixes.
- Mentor new and junior engineers in Arista’s software development environment.
- Review and contribute to specifications and implementations written by other team members.
- Help create a schedule for implementation and debugging tasks, update it weekly, and report it to the project lead.
- Work with engineers and marketing team members to gather and understand functional and technical requirements for upcoming projects.
- Own projects from definition to deployment and be responsible for delivery quality.
- 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.
- Work 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.
What they require
- BS in Computer Science, Electrical Engineering, or Computer Engineering plus 12 years experience; MS in Computer Science, Electrical Engineering, or Computer Engineering plus 10 years experience; Ph.D. in Computer Science, Electrical Engineering, or Computer Engineering plus 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 development activities.
- Experience with 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.
- Ability to work on a small team solving a medium-sized problem with limited oversight.
- Strong and broad software engineering fundamentals.
- Good understanding of Linux system software including IPC mechanisms like sockets and shared memory, and interfacing with hardware via applications, device drivers, and APIs.
- Preferred: Understanding of networking including L2 and L3 and switching ASICs.
- 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
- 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.
- 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.
Benefits
- Discretionary Arista bonuses may be available for certain roles.
- Equity may be available for certain roles.
- Medical benefits.
- Dental benefits.
- Vision benefits.
- Wellbeing benefits.
- Income protection.
- Group Retirement Savings Plan.
- medical
- dental
- vision
- wellbeing
- income protection
- Group Retirement Savings Plan
Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments, using cloud computing, artificial intelligence, and software-defined networking.
What people say about this company
4.1/ 5
- Employees appreciate the innovative and cutting-edge technology used at Arista.
- The company culture is often described as collaborative and supportive.
- Many employees highlight opportunities for professional growth and development.