A new change

I joined Pure Storage in the beginning of last year, and felt like it was one of the best year of my life, for numerous reasons:

  • Learning to live outside “the Google bubble”
  • Meeting a bunch of interesting, smart people
  • Learning a whole bunch of new tools and ways of thinking
  • Getting a a good feel for the different tradeoffs involved in a small-vs-large place (eye opening!)

About a year and a half later, something else came along that I felt unable to pass up, and as of next week I’ll be joining the team at Confluent.

There are a few things that are interesting to me:

  • A focus on Distributed systems
  • The potential for event-streaming as a transformative force for all digital businesses, not just the likes of Uber and Twitter
  • An impressive team that I met both during interviews and after
  • A sweet spot in terms of engineering size and focus (no longer a small startup, but still having a lot of room to grow)
  • A new challenge for me: a while new ecosystem to learn and master (!)

Of course, all these reasons are “after the fact”; the real motivation ultimately comes (for me, at least) from some sort of “gut feeling” that I get when I meet new people.

I felt this feeling when I first met a few people at Pure, and I felt it again at Confluent, and I gave to trust in it, and that I’m doing the right thing right now …

Making a change like this is new for me, because I’m not accustomed to ever changing anything when I’m happy (always sticking around until something makes me really unhappy) —— I will greatly miss everyone that I’ve worked with or talked to at Pure, as well as the managers who supported me, and I do hope we can stay in touch and work together again some day …

… but for now, I’m looking ahead with nervous excitement to the start of a new adventure.

Why you should join Pure

I thought I’d share a few thoughts about why Pure Storage is a good place to consider working.

There’s no “one size fits all” answer for everyone, I’m not really aiming this at everyone … but I’m sure there’s somone out there who’ll benefit from it, so it’s worth writing. I can share my own experience, and let you decide where to take it. Pros and cons abound here, but that’s okay: there are things that seemed important to me earlier that I don’t care for now, and vice versa.

Pure occupies some of the rarified middle ground between small startups and the FAANG giants. I feel the “storage” tag is a bit unfortunate, it gives the impression of being boring, but there’s a lot of interesting technology behind the scenes here. For more context: within Pure, there is the larger, more mature, FlashArray division that has the “just replace hard disks with flash” mandate, which I know less about, and my notes apply more to the smaller, newer, FlashBlade division, where I work.

FlashBlade is still in the “everyone-can-fit-into-a-large-room-for-all-hands” stage, so it definitely feels small, since you can get to the “knowing everyone on a first-name basis” in a couple of months.

The product itself has some non-intuitive technical challenges: it is effectively a “mini-cluster”, effectively a set of server racks in the form factor of a large microwave, and so has all the interesting distributed systems challenges you might typically only associate with “cloud” systems.

Features we work on are usually those that are desperately needed to sell more of the product, or to improve its reliability/performance — which means there is a strong sense of purpose, and also a drip-drip-drip of “real” feedback, from sales and the field, as we do demos, roll out beta versions, etc.

So, my own experience:

(Pros)

  • I have an amazing team to work with, an amazing manager, and an amazing director.
  • Teams are constantly shuffled around as we work on features, so the answer to “can I switch teams after a year?” is “you must switch teams before a year”
  • Working with Slack, Git, Stash, Jira
  • You get to build whatever tools you need
  • You get to write/re-write/modify docs and processes as you see fit
  • You can change any part of the code, at any level of abstraction, ownership of the code isn’t tied to people or teams

(Cons)

  • Limited free food
  • No fancy decor
  • Generally fewer creature comforts
  • Development experience is less than perfect
  • Some wikis/docs may be missing, you need to write them
  • Some tools you may be missing, you need to build them
  • Ownership of the code isn’t tied to people or teams, you might need to read/write/rewrite code you haven’t seen before (notice the pattern here? 🙂)

As you might guess, none of the Cons listed above bother me, but I have felt differently about that in the past (and may feel differently about that in the future), but like I said right at the top, that’s fine — this isn’t for everyone, but hopefully it helps someone out there take a good look at Pure and decide to come in for an interview. If you like hard challenges, working hard with a like-minded team, a lot of control over your work, building out new features/tools, you’ll like working here.