I am a committed and capable senior software developer with wide-ranging experience.
I enjoy building new things from scratch, tearing apart technical debt, building fast realtime applications, understanding horrible legacy code and specifications,
managing giant hordes of servers, and helping other people. I program for fun almost every weekend and take my trade very seriously.
I am extremely friendly and can get along with any passionate team. While prototyping is fun, I prefer to build things that last.
- Proficient with AI-assisted development tools (Claude Code, Copilot) in daily engineering
- Experienced integrating LLM-based tools into backend/infra development and automation
- Skilled at applying AI tools judiciously, leveraging them for speed while maintaining code quality and security standards
- Comfortable evaluating, adopting, and setting boundaries around AI tooling in production environments
|
- Linux / OpenBSD
- C / Perl / JavaScript / Java
- PostgreSQL
- CI/CD pipelines
- Production Operations
- Database/Systems Architecture
- Go / Python
- Containers / Kubernetes
- AWS / GCP / Cloudflare / DigitalOcean
- Terraform
- React / Vue / Svelte / SolidJS
- nginx, HAProxy, coredns
- Consul / Vault / Nomad
|
- Graphics (OpenGL/Vulkan, GLSL, WebGL)
- Natural Language Processing
- Machine Learning
- Genetic Algorithms
- Arduino/Microcontrollers
- Distributed Databases
- Printing/Rendering/Rasterization
- Low level audio programming (ALSA/PulseAudio)
- Desktop UI Libraries
- Move the cat around with the arrow keys!
- Teaching
|
Job Experience
Mytra (Feb 2024 - Jul 2026) Senior Software Engineer
Mytra is a robotics company building brand new robots and structures for automating warehouses.
I immensely enjoyed venturing into the world of embedded hardware for the first time in my career, as well as new software challenges:
- Camera/vision system work. Rearchitected a Python vision system using extensive profiling to find the best combination of threads, multiprocessing, and asyncio for a unique workload
- Figured out how to automatically recover failed cameras by doing a USB hub port reset
- ArUco marker detection and pose estimation, along with drawing debugging marks on live MJPEG streams for troubleshooting
- Custom Jetson flashing tool because NVIDIA's tool wouldn't work with our third-party development kit boards
- Built out a new API for our warehouse orchestration layer using FastAPI and websockets to stream live updates
- Built a DB wrapper that queues NATS messages until transaction commit for data consistency
- Wrote many database migrations, and repaired broken ones
- Radio hardware work with 802.11ah (Wi-Fi HaLow) and UWB (ultra-wideband). Configured and built custom OpenWrt images
- Built Proxmox virtualization clusters with Terraform to host our Kubernetes clusters
- Built specialized DNS and DHCP configuration managed from Salt
- Designed and built from scratch an overlay network using Nebula, with Salt handling 100% automatic configuration, including certificate management and a custom Google SSO portal website
- Built a robot-fleet telemetry pipeline end to end using MCAP data input, Grafana dashboards, and ClickHouse
SixFifty (Jan 2022 - Jan 2024) Senior Software Engineer
SixFifty is a small company tackling some very interesting technical problems. During my time here I volunteered to inherit an old, slow, poorly written and undocumented legacy codebase that was core to the business. I redesigned and refactored it into a robust, performant, and maintainable service. This required designing a programming language and runtime that executed inside of Word documents. It was as crazy as it sounds.
My favorite thing about SixFifty however wasn't the technical challenges, it was that we did pro bono work that actually improved the world by making legal documents more accessible to people who cannot afford them.
Shareworks / Morgan Stanley (Jan 2020 - Dec 2021) Senior Software Engineer
At Shareworks I managed deployment tools and infrastructure for five different products that all came from different acquisitions or backgrounds.
Some of these tools were unmaintained and did not have any developer resources allocated. I enjoyed wrangling these relics and making them better.
- Moved a product out of cloud hosting and into on-premises with a short maintenance window
- Another round of automation and deployment management. Every company needs this and it's always a bit different
- Owned Akamai WAF, CDN, and DNS configuration
- Set up new build infrastructure with configuration as code for reliable builds
- Managed Kubernetes clusters using GitOps (Flux and SealedSecrets)
- Built user management with a custom Ansible plugin so that users' SSH keys automatically expire
- Built visualizer for huge Active Directory structure for easy troubleshooting of users and groups
Teem (Apr 2018 - Sep 2018, aquired by
WeWork)
WeWork (Sep 2018 - Dec 2019) Senior DevOps Engineer
Teem is a workplace experience company that helps companies manage and schedule large numbers of
conference rooms, on-demand workspaces and desks, front door kiosks, and campus resource displays.
When Teem was acquired by WeWork, we were faced with the complexities of integrating our infrastructure and systems
with one of the fastest growing companies in history. It was a wild ride until WeWork's famous collapse.
- Mentored developers on server, database, and deployment skills
- Designed automation for production and development environments
- Wrangled a large production deployment which in the past had been configured completely by hand
- Redesigned large portions of AWS infrastructure to enable development environments
- Automated VPN server provisioning and configuration
- Redesigned DNS structure to stabilize and remove complexity from a rat's nest of private Route 53 zones
- Designed and implemented dynamic load balancing using HAProxy, Consul, and Nomad
- Solved severe database performance and consistency problems
- Wrote a new tool for applying database permission changes from code
- Built new automated build system for Docker-based deployments
ExpertVoice (2015 - 2018) Senior DevOps Engineer
ExpertVoice is a marketing/engineering/sales company focused on connecting experts with the best brands.
I started there as a toolmaker/plumber on their release engineering team, and then the operations team:
- Maintained and eventually rewrote (in Go) core deployment tooling. It grew to deploy 50+ microservices, 6 very heavy Java applications, multiple versions of Elasticsearch, RabbitMQ, GridGain, and
MySQL databases several times a day into 20 differently configured development environments, 6 continuous testing environments, staging, QA, and
two production environments with several hundred nodes, all with zero downtime. It never crashed in multiple years of production use
- Assisted with attaining PCI DSS 3.1 compliance
- Helped provision and configure a new datacenter in AWS. We successfully moved our entire production system into AWS in 24 hours with only a few hours of downtime
- Large amount of plumbing work in Puppet, Python, Jinja templates, Maven, and Atlassian's tools (Bamboo/Stash/Jira)
- Designed a new operations stack to completely replace the existing system. This was a multi-year project involving switching hundreds of production servers with no downtime.
The new system used the open source tools Consul and Terraform to reduce complexity, enable
infrastructure auto-scaling, reduce costs, and help our teams deliver their software faster
- Maintained and expanded on-premises VMware installation
CaduRx (2003 - 2014) Principal Engineer
CaduRx is a medical software company. I helped develop one of the first web accessible medical record systems for both doctors and patients to use. Since this was a very small company at the time, my duties were very diverse, including:
- Installation and administration of a large variety of servers, for roles as diverse as database, web, firewall, mail, DNS, intrusion detection, fax rendering and transmission, and automated testing
- Designing, building, and maintaining a large web-based medical records system that was highly performant on commodity hardware
- Designing, building, and maintaining a large database schema with several hundred tables, and more than a thousand hot-deployed schema changes over 10 years
- Building a testing framework for running unit tests automatically for web applications (utilizing Selenium)
- Building a Java client application that rendered network print jobs and printed them (utilizing the Java Service Wrapper, XML/XSLT/XSL-FO). This application included automatic self-updating and restarting over the network, SSL encryption, and a mutant network protocol I whipped up (this was before JSON)
- Web design and maintenance of our main corporate site
- Training five developers and bringing them up to speed with our technology stack (which included teaching them new programming environments). Several of these developers were starting from scratch
- Building a framework for our system to communicate with a multitude of vendors for health information transport via cryptic government protocols (HL7, NCPDP, CCR, CCD, and X12)
- Writing custom scripts for importing data from various competitors' databases for new customers who wished to migrate their old data. This included reverse engineering the file format of an antiquated database engine
- Sales and marketing work at trade shows
- Visiting many medical clinics across Utah, Idaho, Nevada, and California for local support and training
- Meaningful Use Stage 1 and 2 certification (a tough specification for medical software)