Note: This is no longer accurate, but I haven’t gotten around to updating it or taking it down. That is, I’m not really looking for work at the moment, but I suppose you can feel free to send me an email if you want.

Hi. I recently left my job at Cloudflare (see the end for a brief discussion of why), and am looking for full-time engineering work in the Rust programming language, which I’ve come to love and am fairly experienced in. Prior to this, I worked at Mozilla for around four and a half years, mostly on Firefox Sync, but was part of the Mozilla layoffs.

I’m located in Portland, OR, but willing to relocate after COVID dies down. That said, I have quite a bit of experience working remotely as well, since I was mostly remote for the majority of time at Mozilla.

I have a resume here (last update 1/29/20), it’s a bit rough around the edges, but no good comes of being too precious with it. I’ll try to update it periodically, but if the date listed above sounds like while ago, or you want the version that includes the bits I didn’t feel comfortable publishing on the internet (nothing scandalous, just personal info) feel free to send me an email and I’ll send you the unabridged copy of whatever is latest.

The Part Where I Convince You to Hire Me

I really hate selling myself, so I’m going to paste an excerpt of something from an email I received from the most senior engineer on my team at Mozilla at the time when he heard I was laid off:

I don’t think we’d be successfully shipping as much as we are today without your input…

I think “thoroughness and rigor” is a pretty good summary of what I notice most about your work, and it’s a very valuable thing that can sadly be in short supply sometimes.

I joked once in slack that one of my favorite technical strategies was to post something that I knew to be incomplete but headed in vaguely the right direction, and wait for you to weigh in with the actual correct details, edge-cases, or things I hadn’t considered. Self-deprecating, yes, but also meant very genuinely; thank you.

(Sorry Ryan, if you didn’t want me to quote you, you shouldn’t have been so nice 😳)

I don’t think I’m quite worthy of this, but for things that must ship (and are not just prototypes or experiments), I do try to ensure my work is somewhat rigorously correct, or at least has a comment discussing the shortcomings.

(Admittedly; I also worked on Firefox Sync, which works well in practice, but is distantly far from a “rigorously correct” distributed system 😛)

Additionally, he’s right in calling out my exhaustively detailed github comments. Since my work is open source, some of my greatest hits are:

(None of these are the issue that he was referring to, but that one was a much more run-of-the-mill “here are some facts I know about the problem”, and not something that I look back on and think “Wow, that took a lot of work, good job me”)

Anyway, if you would like me to program your Rust things, or leave overly-detailed comments in your issue trackers, please reach out.

Why I left Cloudflare

Now, normally I wouldn’t write something like this, but astute observers will note that I was only at Cloudflare for 3 months before leaving. This probably doesn’t look great, so I feel that I should address it.

The reason I left is pretty simple: I believed that it was a job primarily using the Rust programming language, when in actuality the job was primarily C++, with occasional Rust (probably less than 20% optimistically given the codebase and what makes sense for it) down the line in the future. The confusion here was caused both by some miscommunication, but also by my own willingness to believe the job was something it wasn’t, which is something I’ll be much more careful about in the future.

So, after a decent amount of time spent debating how much this mattered to me, I came to the conclusion that I’d really like to focus my career on Rust, and will probably be unhappy working in C++ during the day, and only using Rust for side-projects.

Anyway, I have no hard feelings for Cloudflare or the Workers team, and wish it could have worked out. That said, you’ll understand if I’m a bit more careful about this moving forward.