Who Youll 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 Youll Do
- How do I integrate Aristas 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 microservices that operate on REST principles
- Writing software that is fast and memory efficient and can work effectively on lowend and highend 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 likeminded engineers that share the same passion
#LIEO1
Qualifications :
- 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
Remote Work :
Yes
Employment Type :
Fulltime