Job detail for Software Engineer Intern

A
Software Engineer Intern
Arista Networks
Todayvia fourdayweek

Use AI to assess how you fit

Company Description

Arista Networks pioneered data-driven, cognitive cloud networking for large-scale datacenter and campus environments. Arista's award-winning platforms, ranging in Ethernet speeds from 10 to 400 gigabits per second, redefine scalability, agility and resilience. Arista has shipped more than 20 million cloud networking ports worldwide with CloudVision and EOS, an advanced network operating system. Committed to open standards, Arista is a founding member of the 25/50G consortium. Arista Networks products are available worldwide directly and through partners.

Job Description

Who you'll work with

Arista Networks is looking for Graduate Engineers interested in learning world leading product development in C/C++, Go and other languages. Join us at Arista Networks advancing the Software Defined Networking (SDN) revolution.

What You’ll Do

  • Writing Linux user space and kernel code to allow 32-bit drivers to DMA 64-bit virtual memory spaces using both Intel and AMD IOMMU controller.
  • Working on the hardware/software boundary for chips and the kernel. Where an x86 chip might have tens of registers, you will routinely work on ASICs with thousands of registers, tables, and special TCAM memories. You will program networking chips to provide latency analysis and keep accurate counts of events happening billions of times per second. You will write Python to bootstrap new hardware. You will build software agents that mediate and translate between the requirements of switching ASICs, high capacity custom FPGAs, media adapters, and PCIe bridges. You might tune lasers and measure and correct error rates measured in parts per billion.
  • Implementing communications protocols between routers and switches at layer 2 (such as LLDP, 802.1x, BFD, etc), and layer 3 (such as BGP, OSPF, ISIS).
  • Updating the forwarding state of the hardware, using platform-independent abstractions.
  • Reconciling the linux kernel routing model with the switch's forwarding state.
  • Implementing a policy language used for filtering and manipulating routing data received and advertised to peers
  • Accessing ASIC registers over SPI bus, SMbus, PCIe and I2C, to implement high resolution timers (sub-100ns accuracy) and read ASIC hardware specifications to gather near-real-time information on large numbers of packet flows and to generate network congestion statistics.
  • Developing configuration management services using Go and Python to support YANG, OpenConfig, NETCONF and RESTCONF over gRPC, ssh and ssl for standardised switch configuration, combined with tools such as git, gerrit, Jenkins, Slack and Trello.
  • Developing routing protocol agents (for BGP, OSPF, ISIS) in C/C++ within a Fedora Linux embedded environment. Coding of fault-tolerant, concurrent agents capable of handling the demands of future data centres where high performance and high availability are basic requirements. Fully automated, developer owned, Python based, continuous test harness with 100s of devices under test at any one moment.

#LI-EO1

Qualifications

Any of the following:- C, C++, Java, Python, Go, react.js, redux.js, node.js Networking, Linux Embedded Systems, Algorithms, Programming, Software Development.

Additional Information

The working hours will be agreed in advance with the team manager.