Arista Networks is hiring a

Modeling Language Compiler Developer

Full-Time

Who You'll Work With

The Platform team who work closest to the hardware, programming chips.  Arista leverages modeling languages to describe complex network and device state. Restartable micro services operate on the state transitions to control the behaviour of the network device, for everything from switching on the front panel LEDs to programming routes into the ASIC.  The microservices are completely unaware of each other and operate purely by reading and writing model state into NetDB.  You will have the opportunity to work on the compiler to add various language features and enhancements to improve the development processes of hundreds of EOS developers that rely on the modeling language to develop their microservices and business logic.

What You'll Do 

  • How do I integrate Arista’s EOS models with other modeling languages like YANG?
  • Can I run a static type analyzer to identify types that contribute to memory bloat or types that are no longer in use?
  • What is an effective model versioning approach that provides sufficient safety checks without being too restrictive?
  • What web code exploration tools or editor plugins would make EOS developers’ life easier?
  • What patterns should we recommend to EOS developers for handling common use cases, and what new patterns do we need to incorporate into our tools?
  • Modeling and meta languages that describe complex network state
  • Developing Meta language compilers to generate object state serialization and deserialization for micro-services that operate on REST principles
  • Writing software that is fast and memory efficient and can work effectively on low-end and high-end internet scale devices
  • Keeping up to date with latest C++ and gcc/clang developments
  • Designing and building creative ways to programmatically test it all
  • Continuously striving to improve the code 
  • Learning how things really work, just for fun or out of curiosity
  • Working with other like-minded engineers that share the same passion

#LI-EO1

 

  • BS Computer Science/Electrical Engineering/Computer Engineering + 5 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 3 years experience, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering
  • Experience with compilers, parsers, and modeling languages such as YANG
  • Expert knowledge of C or C++ and Python
  • Understanding of distributed systems is a plus.
  • Applied understanding of software engineering principles.
  • Strong problem solving and software troubleshooting skills.
  • Ability to design a solution and implement features independently.
  • Ability to work in small teams
Apply for this job

Please mention you found this job on AI Jobs. It helps us get more startups to hire on our site. Thanks and good luck!

Get hired quicker

Be the first to apply. Receive an email whenever similar jobs are posted.

Ace your job interview

Understand the required skills and qualifications, anticipate the questions you may be asked, and study well-prepared answers using our sample responses.

Developer Q&A's
Report this job
Apply for this job