DevOps Engineer @ Nimbis Services Inc Nov 2024–Present
- Developed an automated EDA license provisioning and reporting platform to manage a $100M+ FlexLM license pool supporting the Microelectronics Commons; generated cost-optimization insights that drove $20M+ in savings.
- Built pylmstat, a custom Python CLI tool that integrated with Azure Entra ID and FlexLM. This provided users a secure, self-service method to view project-specific license availability, improving user experience and eliminating an entire category of support inquiries.
- Implemented centralized application logging in AWS CloudWatch, creating actionable alarms that trigger AWS Lambda functions to resolve common issues without manual intervention.
- Acted as the primary escalation point for hundreds of EDA engineers, providing expert troubleshooting for complex toolchain, infrastructure, and licensing issues.
- Developed CI/CD pipelines in GitLab using Packer and Ansible to build and provision custom RHEL AMIs, reducing the time to deploy fully configured EDA environments from days to minutes.
Project Manager @ Chamberlain Builders LLC Nov 2022–Aug 2024
- Automated project job costing by extracting line items and PO from invoices using Python and GPT-4 vision API.
- Developed a RAG system to enable searching all project communications and documents from a single interface using Python, LlamaIndex, and Google Workspace/GMail APIs.
- Extracted key details from PDF blueprints like foundation type, number of rooms, finishes, building codes/ULs, etc using MuPDF and GPT-4 to cut time to estimate by 50%.
- Oversaw the planning, construction, and completion of three custom homes on time and within budget.
Contract Software Engineer @ E&E Manufacturing Feb 2022–Sep 2022
- Designed, built, and installed prototype camera and computer vision system for detecting misaligned blanks in automotive stamping presses using GStreamer, Python, and GigE cameras.
- Created a Django application for viewing live streams of stamping presses as well as video clips of the 60 seconds before any downtime events.
- Designed, built, and implemented an automated machine runtime tracking system that interfaced with dozens of Siemens and Allen Bradley PLCs using the snap7 and pycomm3 libraries.
Projects
- gstreasy - Python library for interfacing with the GStreamer multimedia framework. Github
- civ4save - CLI tool and library for decrypting and parsing Civilization IV save files. Github
Languages
- Python - Expert Level
- Bash/Unix tools - Advanced
- SQL - Advanced enough to design high quality schemas and indexes and read query plans
- Go - Intermediate level
- HTML/CSS - Better than you'd expect from looking at my website
- JS - Yes but only in anger
- Zig - I've dabbled and like it
- C/C++ - I've mostly done reverse engineering work. For new stuff I'd probably just use Zig.
- PowerShell - For those random M365 cmdlets still don't have a corresponding Graph API endpoint
Technologies
- Linux - Ten years of daily driving on desktops, laptops and servers. Red Hat is my favorite flavor but Debian is great too.
- SQLite - Constantly finding new uses for it. I know enough to know you have to turn on foreign keys and strict typing
- Postgres - Have operated and maintained production databases for years
- Django - Written multiple production apps in Django and I love the ORM
- Docker -
alias docker=podman
- Ansible - Competent but I do prefer pyinfra
- GStreamer - Very comfortable developing complex media pipelines
- Terraform - My work experience has only involved fighting to update ancient terraform deploys
- Kubernetes - Only ever used k3s and podman kube
- PyTorch - I mostly worked on pre LLM computer vision models
- Azure - Only if I have to
- AWS - At least it's not Azure. Heavy user of IAM, S3, Ec2, Lambda, Cloudwatch, Control Tower, Cloudformation, LZA
- Entra ID - I wrote a CLI for managing complex group heirarchies that used the MS Graph API
- SharePoint - I wrote a Markdown to SharePoint page transpiler so I didn't have to actually use SharePoint
- FlexLM - I know entirely too much
- OPC UA - I've written industrial process simulators that expose an OPC UA server
Self-Hosting
- Open WebUI - I run this on exe.dev.
- Manyfold - Hosted on my home server and shared with friends for serving storing and serving STLs
- radicale - For a shared calendar with my wife.
- ros2-dev - An ubuntu22.04 virtual machine with passed through Intel ARC GPU for doing robotics development and simulation work. It runs sunshine friends and I remote in using moonlight.
- win10-opcua - A windows 10 virtual machine running Kepware and Ignition for developing and testing OPC UA applications.