Software Engineer

C++, C, Go, Java

Arista Networks
Online interview
Krakow Remote
Remote possible

Project description

Arista Networks is growing and we are looking for experienced engineers to kickstart our new R&D facility in Krakow!

Depending on the team (and we like you to choose the team), the work involves:

  • Routing - implementing the core logic of the network that decides on how packets traverse the network in the most optimal and resilient manner
  • Platform - working closely with the hardware, programming ASICs that forward packets at Tbps speeds
  • Kernel - patching or extending Linux kernel at the core of Arista EOS
  • OpenConfig - building a dynamic, programmable data centre infrastructure using software-defined networking principles such as declarative configuration and model-driven management and operations
  • Tools - continuously improving the tools and build infrastructure so that the many hundreds of software engineers on the team can achieve their best every day
  • CVP - working on cloud based streaming telemetry services and applications

Your tasks

  • 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 controllers.
  • Accessing ASIC registers over SPI bus, SMbus, PCIe and I2C, to direct and modify packet flows, to implement high-resolution timers, to identify and analyze network congestion, optimizing TCAM layout and utilization, and aggregate and load balance traffic over multiple layer 2 ports.
  • Development of 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 1000s of devices under test at any one moment.
  • Development of 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.
  • Creating a streaming telemetry service for networking devices that will send real-time state updates from the switch to cloud-based data ingestion infrastructure. Working in Go creating gRPC and REST based services using modern development tools such as git, gerrit, Jenkins, Trello and deploying into a backend in a cluster using Kubernetes and docker containers.
  • Extending a web-based frontend (Cloud Vision) that abstracts the physical network to a broader, network-wide perspective using react.js, redux.js, and node.js. Currently it allows you to view events, inspect a device, or compare metrics across devices, but much more is planned as it is key to Arista's any cloud hybrid data center offerings.

Who we're looking for?

We look for candidates who:

  • Are conversant in software design
  • Communicate well in English
  • Demonstrate a solid understanding of computer science fundamentals, especially Data Structures, Algorithms, and Operating Systems

If you...

  • love to program
  • look for a better way, and strive to make it real
  • learn how things work, just for fun or out of curiosity

...then this job is for you.

C++ or C or Go or Java
React or Redux or Java
How we code?
Git, Perforce
Version control
Code review
How we test?
Unit tests
Integration tests
System tests
Performance tests
Test automation
Additional monitor
Freedom to pick your tools
Operating system
Work environment
  • Healthcare package
Leisure package
  • Leisure package
  • Financial bonus
  • Equity
  • Cold beverages
  • Hot beverages
  • Fruits
  • Snacks
  • Integration events

Recruitment process

- 14 days
Online coding test followed by two online interviews

Our company

Arista Networks

Santa Clara, Austin, Nashua, New York, Cary, San Francisco, Vancouver, Sydney, Bengaluru, Pune, Dublin, Shannon, Bayan Lepas, Singapore, Seongnam-si
Tech skills
  • Linux
  • Networking
  • C

Check out similar job offers