I was approached by an Arista's recruiter. Although I wasn't looking for a new job since my current role as a Software Architect is very creative and fulfilling within a very talented team, the recruiter presented the various projects that the company is involved in, most of them looked pretty interesting and relevant to my experience and I finally thought to give it a try.
I was given a list of the interview stages and some videos presenting the company's branch in Dublin and their areas of work.
The first stage is an initial filter through an 1-hour HackerRank coding exercise.
Succeeding in it you get the pass for the first in-person remote 1.5 hours screening interview, through an ssh terminal session in the company's server.
At this 2nd stage, the interviewer was very polite, I was presented with an interesting problem, requiring analytical skills and somewhat related to the company's activities.
This had to be succesfully compiled and run a few unit tests.
It also involved a debugging session with gdb. Very well organized. After clearing this out I had the chance to ask a few questions about the company and proceeded to the next stage.
The 3rd stage involved 2x back to back interviews one with a more senior engineer and the last one with the site Engineering lead.
This was scheduled at the end of a very tiring day and I had the misfortune to be interviewed by a Senior engineer with close to zero communication skills.
After some initial discussion where I could supposedely ask questions about the company and I after I got no substantial information we proceeded to the more technical part.
I thought that after the first two coding sessions I'd finally get the chance to delve deeper into broader technical discussions on software engineering, methodologies, system design, code development issues and approaches, design patterns, code organisation, modularity, abstraction techniques, hardware or OS interfacing, multithreading, networking etc.
Or perhaps to discuss on some real world problem, the best suited algorithms and trade-offs or on real-production code... No, no, it was a typical algorithmic code-monkey session tailored to fresh-graduates without any work experience.
It was actually a dull unimaginative version of what has already been tested in the previous sessions.
At least at HackerRank one has a better coding environment and more original problems.
Anyway, the problem was about in-order tree traversal.
I knew this was a typical problem and the internet is full of solutions to it, but I avoided to google-search and copy-paste it.
Instead, I thought it out, rediscovering the proper algorithm since it has been a long time ago that I'd come across to similar problems, perhaps since my years as a student...
I mentioned the steps to the interviewer who agreed on the solution and then I wrote down the skeleton with comments expressing the solution and started coding it properly.
It was noted that pseudocode was also acceptable and there was no specific time limit, so I had the impression that I was very close clearing this out.
Nevertheless, 10' before the end of the session, the interviewer grabbed the terminal to provide his own version of the last two lines of code and told me that he won't let me to proceed to the following session.
He didn't even bother to ask me anything or comment on my approach, as if he had memorised one version and nothing else was acceptable... strange in every aspect.
Perhaps he didn't like my face or my voice but it would be more honest to just tell me so, instead.
It surely took me more time that I'd like to devote to this but I didn't get any justification on the decision.
At the end, I was typically given the chance to ask a last question but at that stage I was confident that, in either case, I would never choose to work in the same team with the person that interviewed me, so we ended it, each one relieved for his own reasons.
Certainly, I'm not the best candidate out there, but I surely carry a lot of experience and successful projects/products under my belt, specifically in the areas of Arista's interest with a proven record
of some very critical and demanding projects and I had the feeling that I could contribute a lot to this company.
Overall:
- Interview process not adaptive/targeted to candidate's profile. Same process no matter if Senior or Junior.
- Room for subjective and opinionated decisions, presence of two interviewers would work better.
- Well-organised from an administrative point of view, but in my opinion, completely missing the point thus, failing to spot many right candidates.
I can't tell if they have the luxury to spare false negatives similar to the FAANG companies with the zillion candidate CVs, it seems that most probably they can.