Skills

Software Development

I build and maintain enterprise software across multiple layers of the application stack.

  • Languages: Go, Java, Rust, Hare
  • Applications: backend services, desktop applications, web services
  • Integration: REST, SOAP, JMS, XML, JSON
  • Build & dependency management: Maven

Systems & Infrastructure

I enjoy working on the systems surrounding software as much as the software itself.

  • Linux: NixOS, Alpine, CentOS, Ubuntu
  • Infrastructure: declarative configuration, self-hosting, containers
  • Containers: Docker, Podman, OpenShift
  • Automation: CI/CD, Jenkins
  • Configuration: Nix, TOML, YAML

Development Tools

My development environment tends to favor simple, keyboard-driven tools and reproducible workflows.

  • Version control: Git, GitHub, SourceHut
  • Editors: Helix, Vim, VS Code
  • IDEs: IntelliJ IDEA, Eclipse
  • Tooling: Nix, Maven, Zola, Sass

CAD & Fabrication

I also enjoy projects where software and physical engineering overlap.

  • CAD: FreeCAD
  • Design: parametric modeling, BIM
  • Fabrication: 3D printing

What I'm Interested In

Some of the areas I spend the most time exploring outside of day-to-day development include:

  • NixOS and declarative systems
  • Self-hosted infrastructure
  • Open-source software
  • Rust and systems programming
  • Reproducible development environments
  • FreeCAD, 3D printing, and BIM