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