Hi, I’m Bryan O’Sullivan. You can often find me on a bike exploring mountain trails. I map forgotten desert roads and paths, venture out along them, and sometimes post about the results here. I also write books when something really captivates me.

On this site, I share what I’m learning, tinkering with, and sometimes breaking, in tech and in life.

Professionally, I’ve spent my career building software systems and teams. A few highlights:

  • I built large-scale infrastructure at Meta, from writing code to eventually leading a 2,500-person org as an exec, spanning developer tooling, AI infra, and privacy
  • I ran the software team at Zoox, developing safe autonomous vehicles for the real world
  • I’ve written tons of open-source software and three books
  • Now I’m CTO at Voxel, applying AI to industrial safety and efficiency

Along the way I’ve started companies, advised people, and written plenty of code. The teams I build create cutting-edge systems at the intersection of scale, AI infrastructure, and autonomy. I’ve run orgs ranging in size from handfuls to thousands of people.

I enjoy making complex things useful, understandable, and elegant. Good systems, like good writing, are clear, opinionated, and occasionally funny.

I’ve been writing online since the 1990s, and this site since 2003, mostly about whatever I’m learning, building, or occasionally breaking. This is where I think out loud about whatever I’m learning, tinkering with, or building. Nothing here is official or optimized; it’s an ongoing experiment in fun with a wide range of ideas.

A brief professional history

I’ve been working in the software industry since the early 1990s, back when Doom and Slackware Linux were being distributed on stacks of floppies. I got drawn into what is now called open source software in college, and this has been a mainstay of my life ever since.

Mid 1990s–2000s: Sun and startups

My first full-time job was at Sun Microsystems, during its heyday. I started out by working on a cluster management system for running compute jobs to do CPU design, an early predecessor of today’s huge distributed systems. In the mid 1990s, developing software to run a cluster of thousands of machines felt like an unimaginable scale.

Later during that stint at Sun, I had the good fortune to help create an early piece of what we’d now call IoT middleware, Jini (which Bill Joy sponsored). Heavily influenced by the Linda distributed system, it was ahead of its time (diplomatic code for “a noble failure”), and a super cool experience. Part of that adventure involved contributing to my first book, The Jini Specification.

After Sun, I spent some time at BEA Systems, then a fast-growing middleware company that had just bought a startup called WebLogic. I worked on WebLogic Server, with a team full of amazing people.

I then hopped from one startup to another over a handful of years, contributing to all kinds of things from distributed filesystems to set-top boxes to the world’s fastest Infiniband interconnect. I never really had a career plan in mind; I just wanted to work with good people on difficult problems.

In 2005, Olivia Mackall started working on Mercurial, a new kind of distributed revision control system. This project kicked off around the same time as Git, and I got involved early on. Not only did I write tens of thousands of lines of code for Mercurial, I also published my second book, Mercurial: The Definitive Guide.

In an amusing turn of fate, these efforts helped Mercurial to become the standard source control system at Sun Microsystems, the first place I’d worked! In fact, Mercurial replaced Teamware, a primordial distributed source control system that Sun had developed in the early 1990s.

Earlier, Teamware had directly influenced another commercial source control system that both Git and Mercurial were built to replace, so ultimately this became a case of the grandchild replacing its grandparent!

2005–2010: Linden Lab, Real World Haskell, and my own startup

In around 2005, I joined Linden Lab, which built the first popular (and over-hyped) virtual world, Second Life. That was where I got my first good taste of management. After almost five years at Linden Leb, I started a small company with a couple of friends, which we called MailRank. We used PageRank-style ranking techniques to build an early implementation of the kinds of mail prioritization features that people now take for granted in GMail and Outlook.

In the evenings, I’d fallen back in love with functional programming in Haskell, which I’d first used 15 years earlier. I was mystified that no books existed to present Haskell to a popular programming audience, so I organized a small team to write my third book, Real World Haskell, with Don Stewart and John Goerzen. That book was a huge success by the standards of programming books, and won a 2009 Jolt award.

As of 2025, I am still earning a few cappuccinos a month in royalties for that effort.

2010s: Facebook → Meta (and Stanford)

Rather than try to grow or pivot MailRank, we opted to get acquihired by Facebook. I then spent over a decade at Facebook during its hypergrowth period (and its eventual name transition to Meta), starting out as an individual contributor and eventually running an organization of 2,500 people.

My first project at Facebook was to replace our creaking git-svn source control system; this ended up defining my entire time there. I built teams to work on all kinds of developer tools, scaling and rebuilding key systems that the company depended upon to maintain momentum as it grew from 3,200 to 86,000 in headcount, and from $63B to $1.1T in market cap.

I was heavily involved in onboarding and scaling key acquisitions such as Instagram, WhatsApp, and Oculus, and bought a few small companies along the way. I helped figure out how to introduce privacy-preserving technologies to a vast monolithic codebase that had not been designed with these concepts in mind.

As the company dived into mobile with the growth of Android and iOS, my teams were at the forefront of figuring out not just how to build the world’s most complex and widely used mobile apps, but how to ship them on a weekly cadence and drastically improve their performance and quality along the way.

As a side mission, I spent a couple of years teaching at Stanford University, where with David Mazières, I created a graduate-level course: CS240H, “Functional Systems in Haskell”.

Meanwhile at Meta, as the 2010s progressed, I became ever more heavily involved in AI. Indeed, at the time I left, I was responsible for not just developer tools, but all of the company’s AI software infrastructure.

More recent history

I left Facebook in 2022 to become head of software development at Zoox, a company that develops autonomous robotaxis. After a few years there, I opted to take the first lengthy break of my career (after 30 years!), and spent six months adventuring and relaxing.

These days, I’m back in startup territory, as CTO of Voxel, a company that applies AI technologies to workplace safety and efficiency. I also do a little startup advising and consulting on the side.