I have been in tech for over 20 years. I am all about enabling architects, developers, engineers, and their stakeholders to succeed through collaboration, communication, and strategic thinking. I have lately focused on platform engineering, integration platforms, developer platforms, developer experience and public cloud because I think they can have a big impact. I have done helpdesk, desktop, infrastructure, system administration, web design, software engineering, and architecture. I have been a people leader and an individual contributor in all those roles. I have worked in higher education, retail, finance, consulting, and software
I have seen enough failures and hype cycles to know that technology success is a socio-technical art, not an algorithm, playbook or a project plan. Programs, processes, paperwork, forms, templates, meetings, they are all proxies for culture, communication and outcomes.
I have learned that to be a good architect I need to remain a good engineer and strive to be a good leader. That is also my happy balance. I do not want to be a powerpoint engineer. I do not want to be a code-bot either. I want hands on keyboard and head in strategy.
I read books. The ones on design. The ones on code. The ones on neuroscience. The ones on business. The ones on leadership. The ones on teams. The ones on architecture. My guilty pleasure are the ones on space battles and the ones on magic dragons.
As a kid, I liked programming as a puzzle. As I got older, I realized I liked the feedback. Then, as I matured, I realized I liked solving the big puzzles with smart people with feedback from other smart people. I am happy to sit at the back of the room and see everybody winning. I live for that moment when you clap your hands together in excitement because the spark of an idea taught you something. My favorite thing in the world, in all my activities, is that tipping point where discovery opens a whole horizon of learning, where you can see the multiverse of knowledge possibilities.
I identify most with backend and as a generalist. I jokingly refer to myself as a plumber. I have been loving Linux since Slackware in 1993. I have used DOS, OS/2, Linux, Windows, MacOS, Solaris, AIX, and VAX VMS. I was there for MacOS to OSX. I lived through the advent of Active Directory, the rise of virtualization, containers, and public cloud. I have done source control with CVS, SVN, Bitkeeper and Git. I speak XML, JSON, YAML, HCL and probably some languages you have not heard of. I have written SQL, PPL, bash, CMD, PowerShell, HTML, CSS, java, javascript, BASIC, VBScript, C, C++, C#, perl, python, php, lisp, TCL/TK, and other languages of recent antiquity. I have done ITIL, TOGAF, PMBOK, Agile, SCRUM, Kanban, and DevOps. I have built programs, projects, initiatives, epics, requirements, budgets, estimates, forecasts, financial analysis, RFCs, ADRs, RFIs, RFPs, CSFs, OKRs, and KPIs. I have a lot of certifications. I wear a lot of hats.
As an architect I deal with risks and trade-offs. That is the job. If there is no risk, you do not need architecture. And every choice has trade-offs that need to be weighed. As a Cloud Architect, I design multi-account AWS organizations, cloud native applications, hybrid SaaS models, and help optimize cloud environments. I enjoy post-modern IT. I love clouds, containers, VMs, APIs, messaging, new-fangled databases, CI/CD/CM, observability and developer platforms. Give me a a browser, a terminal, a diagramming tool, an editor, source control, and a cloud and I am a happy camper. I have an interest in AI/ML delivery and tooling. I am not a fanatic AI fanboy, but I see AI's utility and I want to plumb it.
Colleagues have described me as someone who brings clarity, drives change, and makes tech approachable by blending broad knowledge with a collaborative, forward-thinking approach. I am also kind of fun in meetings.
Outside of work, you can find me hiking, camping, making/breaking/fixing in my workshop, baking, cooking, reading or just learning something new.
Fun fact: I grew up off-grid on a homestead. When I wanted to use my Commodore 64, I had to go outside and start the generator.
This AI project won my company's Hackathon in the category "Most Likely to Be Adopted" among 130 competitors. It showcases two different ways to use natural language to interact with large datasets. It helped me find a couple $100,000/yr in AWS savings which is probably why it was "likely to be adopted." (video demo)
Managing 100's of cloud accounts has challenges. This solution provides a centralized service for doing SQL queries of AWS infrastructure data against the entire fleet of AWS accounts in aggregate. It is useful for ad-hoc analysis and data pipelining. It is all immutable with AFT/CfCT and terraform.
This project used terraform in a github pipeline to stand up an ephemeral windows server and deploy the repositorie's binaries. Each branch gets its own server for developer testing. The VM is destroyed on merge to main. There's also a version that round robins binaries to a farm of already running instances.
The project is to demonstrate data streaming to a team working on a "SaaS Anywhere" project with agents running at customer sites. One hundred CloudWatch alarms emit event data to a simulator lambda that applies a health status with a 15% error error rate. It is streamed through API Gateway -> Lambda -> Kinesis -> OpeneSearch to be visualized in Grafana.
Customer engagement via SMS text has become standard. Marketing, security, CRM all want to use it. But no department can justify the bootstrap alone. The solution was a centralized platform where the message flow, availability, and compliance are baked in.
Architecture 101 is "start with a list." The rest is attributes. Whether it is a portfolio, a SaaS app registry, a migration plan or an API catalog, it starts with a list. Here I built a list of developer tools and categorized them according to the CNCF landscape for planning purposes. Later, we added other measures to the list items.
The retail company used a lot of SaaS federation, mobile apps, and ecommerce site to provide services and engage with tens of millions of customers. Each integration was a bespoke batch job or API+DMZ proxy. It was chaotic. This API GW solution unified them under one OpenAPI spec while providing all the knobs and levers you would expect. This is comparable to about half way through the
Me and my budding architecture team adopted a tool to manage architecture data. We did a lot of custom coding and data modeling. We called it the enterprise architecture management system (EAMS). It could give you a picture of business processees, application architecture, and information architecture in a few clicks. It made federal audits a dream. We kept the overhead as light as possible by integrating the governance into existing programs.
I built an IT knowledge base (pre-Confluence) that used a high availability sharepoint farm. Kerberos SSO, MSSQL cluster, searching, custom stylesheets. It was immutable and scripted long before that was a thing. It saw a lot of use.
We were migrating to a new Active Directory. Each computer and user needed to be migrated. This was a PHP web app for field techs to migrate a user while they migrating the computer. It migrated AD SID history, another LDAP directory, and tens of apps.
A small business needed a low cost statewide network. This project used a small linux server in their central office and a tiny linux server in each remote branch. The sites were connected with IPSEC tunnels. And the mobile sales people could use a PPTP VPN to connect into the office. Each server was also the nat gateway and forward/reverse proxy.
I ran a content management engineering team that supported 300+ federated authors and 30,000+ pages. Each author was responsible for their own departmentor or topic site. We held difffernt types of trainings, consultations, and conducted continous site reviews for performance, accessibiliity, technical quality, and accessibility. It was a successful program and community.
Linux Firewall on a Flopppy was a project back in the day to build a micro linux distribution that used ipchains (pre iptables!) to build a NAT gateway that could be used on older hardware.
Moose Habitat Survey was a project for field biologists in Alaska to measure Moose forage biomass as a way to estimate populations. I built a backpack for a bluethooth 3D modeler (Polhemus) and wrote a C# application to record the data collected.
DocBook SGML and DocBook XML quickstarts were projects to use DocBook, an XML vocabulary to create documents in a presentation-neutral form that captures the logical structure of content. It harks back to GML from the 1960s. It is important for documents that outlive technology trends, like for government or academia. This is the beginnings of ideas like markdown.
Java Process Scheduler was a Java application and applet (ha!) that simulated and visualized the short term scheduler of an operating system. It generated data about response, wait, and turnaround time to understand the tradeoffs of various algorithms.
"You're still here? Go home. It's Over."
- Ferris Bueller -