Who You'll Work With
What's Cool at Arista?
Cloud Software defined networks Network virtualization
Empowered engineers. Our engineers are empowered with full responsibility for their projects. Our management structure is flat and lightweight -- you are in charge of delivering your work from design to code to test to customer shipment.
Insane amount of automation! We have run close to 20 million tests in our mini-data center that operates 24/7. We put a premium on building and using tools that make everyone super-productive. This translates into quicker turnaround times on new features and products for increased revenue with smaller teams.
We value openness. No part of the company is off-limits, meaning that our engineers have the chance to work on a variety of different areas. All our interns have the same responsibility as our full timers and get to work side-by-side on important, customer-impacting projects.
What You'll Do
Software engineers at Arista deliver product features. The core responsibility is writing the code that drives our products. A software engineer is more than just a coding machine; they drive the whole development process including
Along the way, you might
Structure and Mentorship
Arista Software Internships are structured in much the same way as the first few months of a full-time job as a Software Engineer. Each Intern will be assigned a Software Engineer mentor, who will work with you one-on-one throughout your Internship. This is your go-to person for learning about the industry, navigating source code and internal tools, making progress on your projects, for bouncing ideas off, and to help plug you into the broader software team. You'll be working on actual production code that actual customers want, and will end up deployed on their networks one day.
Interns typically work on several mentored projects, which start out very small (think 1-2 days), and work their way up to substantial work that they can walk away from, proud that they made a real impact (think 4-8 weeks).
Example Projects
We don’t have time for busy work: every project that we do has customers clamoring for it. Along with quick release cycles and an engineer-oriented culture means we always have a slew of interesting projects to tackle. What project you'll work on at Arista will vary a lot depending on our customer demands and your interests. Here are some sample potential projects:
1) Latency Based Routing (Networking Protocol)
Our switches run routing protocols that program the hardware with the nexthop for forwarding packets. The nexthop determination is based on some metric of proximity or cost to the destination. For example, the Open Shortest Path First (OSPF) protocol relies on the Dijkstra’s algorithm to minimize the number of hops to reach a destination.
With Latency Based Routing, the preferred path to a destination has the lowest aggregate delay across several hops. Precautions must be taken to ensure that the protocol converges fast on network events and stable to avoid constant changes in the preferred path. This feature is important for latency sensitive applications run by, for example, financial customers who connect to stock exchanges in multiple locations (New York, Chicago, Tokyo) and demand the lowest delays for receiving market information.
2) Redefining Load Balancing for Future Applications (Networking Protocol)
The Internet is glued together by the Border Gateway Protocol (BGP) and Equal Cost Multi Path (ECMP) has been the backbone of resilient network topologies by allowing multiple paths to a destination. With ECMP, the failure of a few links have little impact as the traffic transitions to the remaining links.
Customers are now demanding link bandwidth aware traffic load balancing through the Unequal Cost Multi Path (UCMP) extension to BGP which is cutting-edge technology on track to become an RFC standard. The project involves adding ability to match and set/tweak bandwidth advertisements in the BGP policy engine to allow UCMP formation.
3) Shared Strings (Software Infrastructure)
Arista is always concerned about memory efficiency as our switches don't have hard drives, and thus cannot page memory to disk. This means that when you run out of memory, you are hosed. And, as we add more features, we consume more memory. One way we could possibly reduce memory is shared strings. This would be a table per process that contains all unique strings instantiated. Whenever you go to instantiate a new string this table would be checked to see if that string already exists and if so, return a pointer to it. This table would have to be very efficient both in speed and size. Another benefit of this approach is that string comparisons could be very fast: O(1) address comparisons instead of O(length of string) character comparisons.
4) Programmable Operating System on a Switch (Software Defined Networks)
EOS SDK: Arista’s EOS operating system is the first truly extensible network operating system on top of Linux. In addition to the standard Linux APIs, the SDK provides a set of higher-level APIs to enable third party developers to write their agents that run in EOS. It’s a set of stable, versioned APIs published on GitHub, available both in C++ and Python. Our largest cloud customers leverage EOS SDK to integrate their custom orchestration, automated-management, and provisioning systems with Arista switches.
A significant fraction of today’s Internet traffic is delivered to you using custom SDN applications that the largest cloud companies such as Netflix or Facebook built using EOS SDK. Projects here involve significant contributions to the maturing EOS SDK by developing new APIs to configure EOS. Your changes will be on GitHub in our EosSdk repository!
5) In-service FPGA Upgrade of Modular Components (Talking to Hardware)
Arista's modular systems have hot swappable components which are inserted or removed on run-time with little performance impact to the system. Such components have FPGAs that are programmed by the hardware team and we would like the ability to easily and reliably upgrade the FPGA image on our products in the field with latest enhancements. This project will give you a chance to get really close to hardware and understand how the system initializes itself.
6) VMTracer ACLs (Cloud Datacenter)
Arista is dedicated to supporting datacenter deployments of our customers. Our integration with a VMWare server keeps the switch informed of the MAC addresses of different virtual machines. The switch monitors the traffic to locate and detect migrations of virtual machines. With this VMTracer capability, an EOS switch can keep specified virtual machines in the same virtual LAN (VLAN) segment.
The VMTracer ACLs project provides the ability to seamlessly migrate Access Control List configuration for virtual machines when they migrate. A simple access control list, for example, allows traffic on port 80 for web-server virtual machines or on port 3306 for MySql virtual machines.
The Ideal Candidate
You have (or want to have) experience with some set of
Interview Information
The interview will include a 45 minute technical component which will involve coding in C/C++. We expect you to compile and debug your code -- impress us with your problem solving skills along with your coding abilities.
We’ll be reaching out to successful applicants by email to schedule interviews!
The new hire base pay for this role has a pay range of $78,000. 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.
Arista Networks is the leader in software driven networking solutions for today’s largest Data Center (DC), Cloud, Internet/WAN, Service Provider (SP) and Campus environments. Arista has over 7500 customers ranging from the largest cloud providers, to healthcare, government, carrier, finance, education, and production web/SaaS companies. Arista's products are the foundation underpinning much of modern society's operations.Arista has ambitious plans and an unprecedented opportunity for growth and we are looking for many more engineers and designers to join us in building and innovating the world's networks. Arista is a profitable, publicly quoted company with revenues of over $2B with a culture of invention, quality, respect, and fun.
Please mention you found this job on AI Jobs. It helps us get more startups to hire on our site. Thanks and good luck!
Understand the required skills and qualifications, anticipate the questions you may be asked, and study well-prepared answers using our sample responses.
Software Engineer Intern Q&A's