About
I’m Michael Bryan, a software engineer in Perth, Western Australia. Most of my work has involved software that eventually needs to deal with something messy outside the program: a machine, a protocol, a flaky network, or another person trying to use it. I tend to enjoy that part.
What I do Link to heading
I’m a software engineer and founding member at Sunfish Robotics . We’re building autonomous underwater vehicles.
In practice, that means bouncing between Go services, PX4 integrations, telemetry, operator tools, and whatever the bench is doing that day. A fair bit of the job is glue code. The difficult bits usually turn up at the boundaries, where software meets hardware or two systems disagree about what a message means.
Before Sunfish, I worked on large-scale web crawlers and ML-assisted data extraction at Multiversal Ventures. Earlier than that, I spent several years working on WebAssembly at Wasmer
and HotG
. One of the more visible results was @wasmer/sdk
, which lets you run multi-threaded and multi-process WebAssembly applications in the browser.
Rust and Go are the languages I reach for most often. I have a soft spot for parsers, protocol code, generated interfaces, and other places where being a little pedantic saves a lot of confusion later.
Selected work Link to heading
I’ve published quite a few small tools and libraries over the years. These are three that still come up regularly:
include_dirembeds an entire directory tree in a Rust binary.wit-lspis a language server for WebAssembly’s WIT interface definition language.mdbook-linkcheckchecks links while building an mdBook.
This blog is where I write things down after I’ve spent long enough working through them that the notes might be useful to someone else. A few representative posts are The Accidental Application Runtime , Run Your Code Generator as a Test , and How I Work .
Community Link to heading
Outside work, I volunteer with the Communications Support Unit, a State Emergency Service unit focused on communications. I joined in 2018 and have since contributed through training, recruitment, and unit leadership. The details change over time, but the common thread is helping the unit build and sustain the people and capability it needs.
Away from the keyboard Link to heading
I live in Perth with my partner, Gabbey, two large dogs, three cats, and a house that keeps finding new ways to require maintenance. I also use Obsidian heavily enough that my notes are considerably more organised than my desk.
Contact Link to heading
You can find my code on GitHub , while LinkedIn has the conventional career-history version. The blog has an RSS feed if that’s your thing. For direct enquiries, email [email protected] .