Now

Current focus

  • Reliability research for automated systems

    Testing automation with explicit stop conditions, verification evidence, and failure paths that remain understandable to an operator.

  • Multi-agent CLI workflows

    Designing parallel agent patterns with clear ownership, collision avoidance, and evidence-based completion checks across Claude Code CLI and Codex CLI.

  • Compute-critical Rust

    Using Rust for API services, CLI tooling, and integration boundaries where explicit types and predictable failure behavior matter.

View the current Now page

How I work

Operating principles

  1. Make the failure legible

    I separate reachability, state, ownership, and verification before changing a shared system. A useful recovery leaves the next operator with a clear diagnosis, not just a green light.

  2. Put evidence beside the claim

    Tests, artifacts, constraints, and known limits belong next to the decision they support. That keeps technical judgment reviewable and prevents confidence from outrunning proof.

  3. Choose explicit boundaries

    I favor typed interfaces, static-first delivery, and stop conditions that fail loudly. The goal is software whose behavior remains understandable when a dependency or assumption breaks.

Career

Experience

  1. Otto Aerospace

    Principal Software Engineer, SuperNatural Vision Program

    2025-present

  2. Blue Origin

    Senior Simulation / Aerospace Operations Software Engineer

    2022-2025

  3. Avenger Flight Group

    Director of Simulation & Software Engineering

    2014-2022

  4. SIMCOM Training

    Flight Simulation Supervisor & Project Manager

    2011-2014

View experience and verified outcomes

Uses

Selected tools

Rust
First choice for anything compute-critical, latency-sensitive, or where I want type-system guarantees at integration boundaries. The WASM pricer and API service are both Rust.
Python
Data pipelines, strategy code, and scripting where the ecosystem (numpy, pandas, scipy) is the right fit. pyright keeps the type boundaries honest.
GitHub Actions
CI/CD for the monorepo. The pipeline runs Vitest, TypeScript checks, Playwright, and cargo test before any merge.
ripgrep (rg)
Fast repository-scale text search with .gitignore-aware defaults and predictable command-line output.
See the complete Uses list

Learning

Current reading

  • Crafting Interpreters

    Robert Nystrom

    Working through the tree-walking interpreter half. The gap between 'I understand parsing in principle' and 'I can implement a correct recursive descent parser from scratch' is larger than expected and worth closing.

  • Asynchronous Programming in Rust

    Carl Fredrik Samson

    The executor and waker internals finally make the async/await desugaring feel concrete rather than magical. Relevant to every Axum handler I write.

Browse all reading notes