Friday, March 8, 2013

Why I joined Arista Networks

Over the past few months, many people have asked me why I jumped from the "web world" to the "network industry" to work at Arista Networks.  I asked myself this question more than once, and it was a bit of a leap of faith, but here's why I did it, and why I'm happy I did it.

Choosing a company to work for

There is a negative unemployment rate in Silicon Valley provided you know how to type on a keyboard.  It's ridiculous, but all the tech companies are hiring like there's no tomorrow.  So needless to say, when the time came to make a move, I had too many options available to me.  It's not easy to decide where you'll want to spend the next X years of your life.

My #1 requirement for my next job was to work with great people.  This was ranking above salary, likelihood of company success, and possibly even location (although I really wanted to try to stay in SF).  I wanted to feel like I felt when I was at Google, when I could look around me, and assume all these engineers I didn't know were smarter than me, because most of them were.  I could have returned to Google too, but I was in for something new.

I quickly wound up with 3 really good offers.  One from CloudFlare, who's coming to kick the butt of the big CDNs, one from Twitter, which you know already, and one from this datacenter networking company called Arista.  The first two were to work on interesting, large-scale distributed systems.  But the last one was different.

Why did I interview with Arista?

So why did I decide to interview with Arista in the first place?  In November 2010, I was shopping for datacenter networking gear to rebuild an entire network from scratch.  I heard about Arista and quickly realized that their switches and software architecture was exactly what I'd been looking for the previous year already (since I left Google basically).  We ended up buying Arista and I was a happy customer for about 2 years, until I joined them.

I don't like to interact with most vendors.  Most of them want to take you out to lunch or ball games or invite you at useless events to brainwash you with sales pitches.  But my relationship with Arista was good, the people we were interacting with on the sales and SE side were absolutely stellar.  In April 2011, they invited me to an event they regularly hold, a "Customer Exchange", at their HQ.  I wasn't convinced this would make a good use of my time, but I decided to give it a shot, and RSVPed yes.

I remember coming home that evening of April, and telling my wife "wow, if I was looking for a job, I'd definitely consider Arista".  The event was entirely bullshit-free, and I got to meet the exec team, who literally blew me away.  If you know me, you know I'm not impressed easily, but that day I was really unsettled by what I'd seen.  I didn't want to change jobs then, so I tried to get over it.

Over the following year, I went to their 2 subsequent customer exchanges, and each time I came back with that same feeling of "darn, these guys are awesome".  I mean, I knew the product already, I knew why it was good, as well as what were its problems, limitations, areas for improvement, etc, because I used it daily.  I knew the roadmap, so it was clear to me where the company was headed (I unfortunately couldn't say so for Twitter).  Everybody – mark my word – everybody I had met so far at Arista, with no exception, was stellar: support (TAC), sales, a handful of engineers, and all their execs and virtually all VPs, marketing, bizdev, etc.

So I decided to give it a shot and interview with them, and see where that would take me.

What's the deal with Arista's people?

Arista isn't your typical Silicon Valley company.  First of all, it doesn't have any outside investors.  The company was entirely funded by its founders, something quite unusual around the Valley, doubly so for a company that sells hardware.  By the way, Arista isn't a hardware company.  There are 3 times more software engineers than hardware engineers.  Sure we do some really cool stuff on the hardware side, and our hardware engineers are really pushing the envelope, allowing us to build switches that run faster and in a smaller footprint than competitors that use the same chips.  But most of the efforts and investments, and ultimately what really makes the difference, are in the software.

Let's take a look at the three founders, maybe you'll start to get a sense of why I speak so highly of Arista's people.

Andy Bechtolsheim, co-founder of Sun Microsystems, is one of the legends of Silicon Valley.  He's one of the brains who put together hardware design, except he seems to do so one or two years ahead of everybody else.  I always loved his talks at the Arista Customer Exchange as they gave me a glimpse of how technology was going to evolve over the next few years, a glimpse into the future.  Generally he was right, although some of this predictions took more time than anticipated to materialize.
Andy is truly passionate about that stuff, and he seems to have a special interest for optical technologies (e.g. 100Gbps transceivers and such).  He's putting the German touch to our hardware engineering: efficiency.  :)

Then there is David Cheriton, professor at Stanford, who isn't on his first stint with Andy.  The two had founded Granite Systems in '95, which got acquired in just about a year by Cisco, for over $200M.  This apparently made David a bit of a celebrity at Stanford, and in '98 two students called Larry & Sergey sought his advice to start their company, a search engine for the web.  David invited them over to talk about their project, and also invited Andy.  They liked the idea so much that they each gave them a $100k check to start Google.  This 2x$100k investment alone yielded a 10000x return, so now you know why Arista didn't need to raise any money :)
David is passionate about software engineering & distributed systems, and it should be no surprise that virtually all of Arista's software is built upon a framework that came out of David's work.

Last but not least, Ken Duda, who isn't new to the Arista gang either, as he was the first employee at Granite in '95.  Ken is one of the most brillant software engineers I've ever met.  Other common points he shares with Andy and David: super low key, very pragmatic, visionary, incredibly intelligent, truly passionate about what he's doing.  So passionate in fact that when Arista was hosting a 24h-long hackathon (Hack-a-Switch), he was eager to stay with us all night long to hack on some code (to be fair I think he slept about 2 hours on a beanbag).  I will always remember this WTF moment we had around 5am with some JavaScript idiosyncrasy for the web interface we were building, that was epic (when you're tired...).
Not only Ken is one of those extraordinary software engineers, but also he's one of the best leaders I've met, and I'm glad he's our CTO as he's pushing things in the right direction.

Of course, it's not all about those three guys.  What's even more amazing about Arista, is that our VPs of engineering are like that too.  The "management layer" is fairly thin, with only a handful of VPs in engineering and handful of managers who got promoted based on meritocracy, and that "management layer", if I dare to call it this way, is one the most technically competent and apt to drive a tech company that I've ever seen.

I would also like to point out that our CEO is a woman, which is also unusual, unfortunately, for a tech company.  It's a coincidence that today is International Women's Day, but let me just say that there is a reason why Jayshree Ullal frequently ranks high in lists such as "Top X most influential executives", "Top X most powerful people in technology", etc.  Like everybody else at Arista, she has a very deep understanding of the industry, our technology, what we're building, how we're building it, and where we should be going next.

Heck, even our VP of marketing, Doug Gourlay, could be VP of engineering or CTO at other tech companies.  I remember the first time I saw him at the first Arista Customer Exchange, I couldn't help but think "here comes the marketing guy".  But his talk not only made a lot of sense, he was also explaining why our approach to configuring networks today sucks and how it could be done better, and he was spot on.  For a moment I just thought he was really good at talking about something he didn't genuinely understand, a common trait of alluring VPs of marketing, but as he kept talking and correctly answering questions, no matter how technical, it was obvious that he knew exactly what he was talking about.  Mind=blown.

Company culture

Hack-a-switch
So we have a bunch of tech leaders, some of the sharpest minds in this industry, who are all passionate, low-key, and want to build the best datacenter networking gear out there.  This has a profound impact on company culture, and Doug made something click in my mind not so long ago: company culture is a lasting competitive advantage.  Company culture is what enables you to hire, design, build, drive, and ship a product in one way vs another.  It's incredibly important.

Arista's culture is open, "do the right thing", "if you see something wrong/broken, fix it because you can", a lot like Google.  No office drama – yes, Silicon Valley startups tend to have a fair bit of office drama.  Ken is particularly sensitive to all the bullshit things you typically see in management, ridiculous processes (e.g. Cisco's infamous "manage out the bottom 10% performers in your organization"), red tape, and other stupid, unproductive things.  Therefore this simply doesn't exist at Arista.

One of the striking peculiarities of the engineering culture at Arista that I haven't seen anywhere else (not saying that it doesn't exist anywhere else, just that I personally never came across this), is that teams aren't very well defined groups.  Teams form and dissolve as projects come and go.  People try to gravitate around the projects they're interested in, and those who end up working together on a particular project make up the de facto team of that project, for the duration of that project.  Then they move along and go do something else with other people.  It's incredibly flexible.

So all in all, I'm very happy I joined Arista, although I'm sure it would have been a lot of fun too with my friends over at Twitter or CloudFlare.  There are a lot of very exciting things happening right now, and a lot of cool challenges to be tackled ahead of us.

Jan 2018 update: I just left Arista.

Additional disclaimer for this post: the views expressed in this blog are my own, and Arista didn't review/approve/endorse anything I wrote here.

20 comments:

Unknown said...

From my point of view, joining such a (small) company is far more exciting than the already big and successful ones. If you're working for an interesting market with interesting people, It can't be more seducing for me! Good luck there!

nareshov said...

Congrats and good luck!

Anonymous said...

Congrats !!

Anonymous said...

Nice post and gives really a complete sense of Arista. BTW, I would like to know why would you join a company that makes switches compared to large distributed systems for web scale. Won't you get more cool things to do in those companies than writing protocols and platform stuff for the switch.

tsuna said...

The thing is, I don't write protocols and platform stuff for the switches, I actually get to work on large distributed systems, I just happen to have a more network-centric vantage point now.

There is a lot more to making switches than just writing protocols and platform stuff – which is interesting in its own right too, by the way. It's not easy to see from the outset, and it's certainly something that worried me at some point, but believe me, we generally only see the tip of the network iceberg.

Anonymous said...

Regarding the open team culture, Valve has pioneered that

http://assets.sbnation.com/assets/1074301/Valve_Handbook_LowRes.pdf

tsuna said...

Yes I'm not claiming prior art for Arista :)

But you're right that even though I don't think anybody on our exec team has read Valve's handbook, there are a lot of things in common.

Anonymous said...

Must be nice to be in the software department. The rest of the company feels just like Cisco...

tsuna said...

Aww, sorry to hear that. I'm really surprised though, I know people in many different groups (the sales/SE team, the TAC/support team, the hardware team, the IT team, etc) and from the best I can tell the software team doesn't get any special or privileged treatment.

You should talk to Ken Duda if you think anything is wrong, he's really a stickler for principles, and he's always willing to help to "do the right thing".

Unknown said...
This comment has been removed by the author.
Unknown said...

Your article inspired me to interview with Arista! I was lucky to bag an offer! Thanks!

Anonymous said...

Very nice post. Thanks for the information. Just wondering is Arista company culture still the same as you decribed? Since Arista is growing really fast and it is a public company now, I would expect some company structure change?

tsuna said...

@Anonymous, the post-IPO company culture is largely the same. A few things have changed, as you would expect, for instance we have more processes / "red tape" due to various regulatory and compliance issues that apply to all public companies, and our exec team can't share company results as transparently and candidly as before (at least not pre-earning calls). But none of these things really have an impact on our day to day activities.

The engineering team has grown, and I meet new people almost every week, but it still doesn't feel too big. We remain a medium size company. The reporting structure of the engineering organization hasn't changed at all, and it's still just as much flat as before, and still run not by pointy-haired managers but by talented-engineers-turned-managers based on meritocracy.

Anonymous said...

Thank you very much for such a great post!
Being there for few years, would you say that Arista still has the same kind of culture as you written here?

tsuna said...

Very much, yeah. As long as Ken Duda is CTO, I'm pretty confident that the culture will remain the same. The IPO and growth haven't changed much, they just created some growing pains – the same that all fast growing companies seem to experience – as well as some scaling challenges (some of which are fun to tackle, some less so).

Ken recently gave a talk on software quality that was very well received by the industry – an industry that, shockingly, is not used to this kind of honest rhetoric. See Response: Arista EOS & Quality

Anonymous said...

Benoit, you say that you do not work on protocols/platform stuff in Arista.
Do you work in Arista's CloudVision SDN controller ?

tsuna said...

CloudVision isn't an SDN controller. CloudVision is an umbrella term for two different products: CVX, which is a system to automatically orchestrate various Arista switches with a controller (e.g. NSX or OpenStack or Nuage or ...) and CVP, which is an enterprise network management platform.

I'm not involved with CVX, and I am remotely involved with CVP. I've focused more on network programmability (eAPI, EOS SDK, OpenConfig, etc) and distributed systems (Hadoop, HBase, elastic search, etc).

Anonymous said...

Hi,

I wanted to know about different roles at Arista Networks and also a bit more about what you are currently doing with the distributed systems(if possible)?

Also, do the platform and protocol teams just work on their roles or do they contribute in other projects similar to yours?

Thanks!

tsuna said...

Arista doesn't have fixed roles or teams. On the software side, everybody is "just" a software engineer, and anybody can contribute to anything. Of course people generally have areas of specialty or interest, and they tend to focus on these, but there is no barrier between the groups that make up the software team. These groups also tend to form and dissolve dynamically, as projects come and go. It's a pretty flexible and open environment.

In terms of what I'm currently doing with distributed systems, some of it is still under NDA / unannounced, but for example I led the implementation of the feature called "MapReduce Tracer", in which the switch talks to the Hadoop MapReduce JobTracker and TaskTrackers to figure out what jobs are running where and when, so we can resurface this information at the switch level, for network operators that are trying to troubleshoot network problems in Hadoop clusters, given that they usually know very little about Hadoop or MapReduce, and that problems tend to move around with tasks / jobs, which makes them hard to pinpoint when you're a network guy.

I've also spent a lot of time working on everything related to extensibility, such as eAPI (the JSON-RPC interface to the CLI) or EOS SDK (https://github.com/aristanetworks/EosSdk), to name a couple examples.

My group is made of a mix of folks that came from the world of web startups / web dev / distributed systems with no specific background in networking (like myself), folks who have been at Arista or in the network industry for a while (for example one of them worked 5 years on platform stuff and decided to do something different), and new grads.

tsuna said...

I should perhaps add that I also contributed code to other areas ranging from low level platform code, FPGA initialization, Linux kernel module, compiler code, etc, not just SDN / extensibility / distributed systems stuff.

Another thing worth mentioning is that anybody wanting to work on tools or infrastructure is more than welcome to do so, and all the management team and our CTO are very supportive of folks that want to set things aside for a bit in order to improve tools and infrastructure.