Rust for Backend Engineers: Why I Reach for Axum
I didn't start with Rust because it was trendy. I started because I was tired of finding out about null-pointer-shaped bugs in production instead of at compile time.
Axum specifically, though, is what kept me there for backend work. A few reasons:
- It's just Tower underneath, so middleware composes instead of fighting you
- Extractors make request parsing explicit instead of magic
- Async is first-class, not bolted on
- The type system catches the kind of mistake that would otherwise be a 2am page
None of that makes Axum "better" than Express or FastAPI in some universal sense. It makes it better for the thing I actually build: financial infrastructure, where a silent type coercion bug has a dollar amount attached to it.
The tradeoff is real — the compiler is a strict teacher, and you'll fight the borrow checker before you befriend it. But by the time code compiles, a whole category of bugs already didn't make it to production.
#rustlang#axum#backend#systemsdesign