Nov 9, 2020
During his RICON 2013 keynote, the late Andy Gross gave the following career advice to aspiring developers in the audience.
BS or charm your way into jobs you aren’t qualified for, quit before it gets boring, and repeat.
Andy was never one to mince words, and this time was no exception. The video for this talk, as far as I know, has been lost in the sands of time, but this moment will always stick with me (thanks to Anders Pearson for his Ricon East 2013 Talk Summaries, allowing me to provide the exact quote). It was a quintessential argv0 moment, speaking plainly and candidly about his own career in a way that most established industry leaders never would.
And so, following Andy’s advice, I’ve somehow managed to BS and charm my way into a job at Oxide Computer Company. A job I feel a bit unqualified for, if I’m completely honest. But, as I progressed through my interviews with both old colleagues and new acquaintances, I was happy to learn that I’m not alone in that feeling. As it turns out, when you are building a new server-side computer, and its software, from the ground up, you are going deep into uncharted waters. None of us have done this before, so there has to be some amount of bullshitting yourself to work up the nerve for such a Herculean task. If I could draw a snowboarding analogy, it’s like hucking off a six foot cornice into a double black diamond EX run: you know you are out of your depth so you spend five minutes talking yourself up before finally taking the plunge. CHECK ME OUTTTTTTT!
It’s not that Oxide doesn’t have people well versed in the different aspects of this endeavor, far from it. But, and this is the crucial distinction, Oxide is trying to build a system where the hardware and software are fully integrated with each other. This is what Bryan means we he talks about tackling problems at the hardware/software interface. It’s one thing to build a computer, or to build software for a computer. But it is altogether a different thing to build a computer with the software in mind, and to build the software with a particular computer in mind. In fact, if Oxide does its job right, these two will feel as if they are one in the same, an implementation detail for only the most discernible of users. And aren’t they the same, after all? Isn’t software just slower but more flexible hardware; and hardware just faster but less flexible software? So why do we treat them so differently? What if you considered them one welded unit rather than two lego blocks? What if you treated them as more similar than different? As you blur those traditional boundaries between hardware and software you might find a computer’s true potential comes more into focus.
There will be plenty of people who think this endeavor, and excuse my French, is fucking crazy. And to that I say: good! Greatness courts failure. And this little stunt has plenty of opportunity for failure. But there are two parts to a great endeavor: the problem itself and the people working on it. After talking with the Oxide team, I can say it’s the most awe-inspiring team I’ve ever witnessed. I’m honestly a little intimidated by the depth and knowledge that everyone has along with the sheer number of the problems they are trying to solve. I felt like I showed up to an elite jazz band audition with a cowbell; but sometimes you’ve got a fever and there’s only one prescription. Anyways, this is all to say that a great problem is tractable only when you have a great team equal to the task; and Oxide has that in spades. It doesn’t guarantee success, but it’s the first step to getting there.
So what am I working on? Well, I’m an early hire at a startup, so it could be a bit of everything. However, my main focus will probably revolve around everything networking, following on the heels of my last 4 years in the illumos networking stack. While I certainly have some experience in this area there is still much I don’t know. My future holds endless amounts of reading, learning, and growing with my coworkers. We are combining lessons learned from our own past experiences as well as drawing insight from the hyperscalers who have tackled some of these issues in their own clouds. I know that’s vague, but hey, it’s my first day. But once again, what makes our approach interesting is the full integration of the hardware and software, giving us the capability to have control that most people only dream of.
Today marks my first day in what could be my greatest career journey. I’m very excited to work on a great problem with a great team. We have a lot of ideas, a lot of ambition, and a strong desire to see this thing through. I can’t tell the future. I’m not sure how this all ends. But I know it starts with a group of excited and smart people who believe there is something better to be had in server-side computing. Hello Oxide!