Software Engineer - Platform Team - Ireland
- Full-time
Company Description
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.
Job Description
Who You'll Work With
You will work with the Platform team who work closest to the hardware and programming chips.
What You'll Do
Arista’s engineering team started from a blank sheet of paper to architect an entirely new networking operating system. Arista’s unique architecture is based on three guiding principles:
- State orientation
- Open standards-based approach
- Single software image consistency
1) State Orientation for publish-subscribe communication
State Orientation uses a unique multi-process state-sharing architecture that separates state information from protocol processing and application logic with a central database shared by diverse applications. Both system state and data are stored in the system database where data is accessed via an automated publish/subscribe model. This distinct design principle provides module independence, self-healing resiliency, and multi-process software stability. It is an elegant distributed systems solution applied holistically right across the network.
This contrasts with the decades-old legacy approach of many competitors that uses extensive inter-process communications (IPC), a shared memory bus, or a complex message passing framework to communicate across the system components.
2) An Open Approach
Arista took to heart the lessons of the open-source world and built EOS on top of an unmodified Linux kernel, maintaining full, secured access to the Linux shell and utilities. It is notable that it is the same Linux OS that Arista’s customers run in their data centers and on their servers. This foundational methodology enables EOS to preserve the security, feature development, and tools of the Linux community, unlike legacy approaches where the original OS kernel is either modified or based on older, less maintained versions. By adhering to open source Linux, EOS also natively supports Linux containers and virtual machines, simplifying the deployment of new services and enhancing DevOps practices.
3) A Single Image
Arista’s third and crucial guiding principle is to provide a single software image that runs across all products in various packaging forms - physical platforms, virtual machines, and containers. The EOS single image uses the same source code, and the same version of the software released across the entire portfolio of switches and routers, thus improving network testing and reliability while reducing the complexity and cost of network operations.
This approach is a large differentiator to legacy vendors who use multiple operating systems with numerous images to implement a siloed network. Managing these multiple software images with quality control testing or new features testing multiplies operational costs. In contrast, when Arista releases a new software version, customers merely deploy a single image network-wide.
In addition, having a single image improves automation workflows by allowing DevOps tools, such as Ansible or Terraform, to work across all Arista devices with a single integration. Using these integrations, operators can establish Continuous Integration (CI) pipelines that build, test, and deploy network configurations across the entire data center with increased speed and reliability.
Qualifications
- Strong engineering and Computer Science fundamentals.
- Extensive background in algorithms and strong software architecture skills.
- 5+ years fluency in one of C/C++/Python programming.
- Hands-on experience with designs and implementations in a strong product-engineering environment.