Software Engineer • Current Employee
Pros: It's been a year since I joined Arista and wrote my initial (5-star) review.
Since then, I still think there is a lot positive about Arista.
The people make the place. Purely technical interviews mean you are working with a diverse cross-section of people who understand their work.
I have interesting conversations every day.
Hands-off management leaves you to do the right thing. Quality beats quantity.
This also feeds the helpful culture in the teams here; people are not competing with each other.
Cons: I can't comment on the average compensation package, as there is no visibility into how these are calculated. When asked, senior management mumbles something about "magic calculations" that they are unwilling to explain, so I presume they just roll a dice.
Performance reviews are based on peer feedback (which I thoroughly agree with), but the results are not disclosed. It's impossible to measure your own performance against those you work with.
The toolchain relies on a proprietary programming language, which is largely undocumented. In some teams, this language will provide the base structure for all your code. The lack of documentation and the proliferation of poor implementations elsewhere in the codebase make it very frustrating to work out sensible design patterns.
Despite presentations by senior Arista engineers, testing is not very well implemented here. "Unit tests" typically test huge objects. Since the proprietary language they are written in does not allow mocking and makes it very complicated to test individual class methods, a single failing "unit test" could be caused by any one of hundreds of methods or thousands of lines of code.
Tests are also full of random numbers, so if a particular test fails, just keep re-trying it until it passes.