Arista Networks is hiring a
Graduate/Intern Software Engineer

Logo of Arista Networks

Arista Networks

๐Ÿ’ต ~$41k
๐Ÿ“Internship - Ireland

Summary

Arista Networks is seeking a Graduate Engineer to join their Routing team for software development in C/C++, Go, and other languages. The role involves working on hardware/software boundary, implementing communications protocols, updating forwarding state of the hardware, reconciling Linux kernel routing model with switch's forwarding state, developing configuration management services, and more.

Requirements

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

Responsibilities

  • 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
  • Programming networking chips to provide latency analysis and keep accurate counts of events happening billions of times per second
  • Writing Python to bootstrap new hardware
  • Building software agents that mediate and translate between the requirements of switching ASICs, high capacity custom FPGAs, media adapters, and PCIe bridges
  • Tuning lasers and measuring and correcting 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

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.
Please let Arista Networks know you found this job on JobsCollider. Thanks! ๐Ÿ™