--- name: matthew-boston description: > Staff software engineer with 17+ years building distributed systems, platform tooling, and resilience patterns. Trigger when a problem needs systems thinking, architectural judgment, or the experience to know which complexity is worth it and which isn't. type: engineer version: 18.0.0 allowed-tools: Clojure, Ruby, TypeScript, Kafka, PostgreSQL, Kubernetes, GraphQL, Agentic Engineering --- # Matthew Boston Software Engineer & Technology Leader. Denver, CO. ## Summary 17+ years of building software professionally. The throughline is distributed systems, developer tooling, and making the right thing the easy thing for the teams I work with. I've written production code in Ruby, JavaScript, TypeScript, Clojure, and Java across companies ranging from early-stage startups to large public companies like Procore and Shopify. The languages change. The principles don't. ## Core Capabilities ### Systems Architecture Design and operate service-oriented and event-driven systems at scale. Kafka, RabbitMQ, gRPC, REST, GraphQL — the protocol matters less than getting the boundaries right. Domain-driven design and event modeling to find where the seams belong. CQRS and event sourcing when the domain demands it, not because the architecture diagram looks impressive. **Evidence:** Led 70% infrastructure cost reduction at Procore (millions in annual AWS savings). 84% improvement in API response times. Architected circuit breaker patterns for resilience at Shopify. ### Platform Engineering Build internal tools that raise the floor for every engineer on the team. Release management systems, CI/CD pipelines, deployment infrastructure, observability tooling. The goal is always the same: make shipping safe and fast so teams can focus on the problem instead of the process. **Evidence:** Architected Shopify's monorepo-aware release management system. Accelerated CI/CD pipelines for millions of builds per year at CircleCI. Optimized PostgreSQL read IOPS so 95% of CI/CD pipelines on CircleCI started 0.4 seconds sooner. ### Technical Leadership Translate business problems into technical direction. ADRs, RFCs, architectural reviews, and cross-team alignment — but only when the ceremony earns its keep. Mentorship through pairing, code review, and creating the conditions for others to make good decisions on their own. **Evidence:** Principal Engineer at Procore driving architectural direction across multiple platforms. Technical lead on CircleCI's Plans & Payments team. Client Principal at Neo Innovation, owning the technical relationship from first call through delivery. ### AI-Assisted Engineering Build with and for AI agents. Prompt engineering, LLM integration, AI-powered search and support systems, agent orchestration frameworks. The conviction: the engineers who invest in teaching their tools will outperform the ones who just prompt harder. **Evidence:** Driving AI-powered search, LLM fallback systems, and agent-based workflows at Shopify. Building open-source AI tooling for developer productivity and multi-agent orchestration. ## Technical Stack ``` Languages: Ruby, JavaScript, TypeScript, Clojure, ClojureScript, Java Frameworks: Ruby on Rails, NestJS, Next.js, Node.js, React, Redux Infrastructure: AWS, Kafka, RabbitMQ, PostgreSQL, Redis, Elasticsearch, Datomic Containers: Docker, Kubernetes APIs: REST, GraphQL, gRPC, Protocol Buffers Practices: DDD, Event Modeling, ADRs, C4, Agentic Engineering ``` ## Patterns ### What I Reach For - Simple, immutable data structures and pure functions over clever abstractions - Deep modules with simple interfaces — pull complexity down, not out - Fail fast, fail loud — surface errors early, never mask them silently - Message-passing between loosely coupled components - Measure the rendered output before proposing fixes - Automate the repetitive, measure the critical ### What I Avoid - Abstraction before the second use case exists - Future-proofing that adds complexity for scenarios that never arrive - Ceremony that doesn't earn its cost - Mocking the database when you should be testing the real thing - Defining yourself by lines of code instead of problems solved ## When to Engage | Signal | Capability | |----------------------------------------------------|-------------------------------------------------------------| | System costs are climbing and nobody knows why | Cost analysis, architecture simplification | | Services are failing under load | Resilience patterns, circuit breakers, observability | | Teams are slow because the platform is in the way | Internal tooling, release management, CI/CD | | Architecture decisions aren't sticking | ADR/RFC process, cross-team alignment | | AI tooling feels powerful but directionless | Agent orchestration, context engineering, AI systems design | | The codebase is over-engineered | Simplification — strip to what actually matters | ## Anti-Patterns | Signal | Not a Fit | |---------------------------------------------------|-------------------------------------| | Need someone to write code fast without opinions | I have opinions | | Want to add Kubernetes to a two-person project | I'll push back | | Looking for the trendiest stack | I'll pick the boring one that works | | Need a manager who doesn't code | I'm in the codebase | ## Education B.S. Computer Science & Engineering — The Ohio State University (2008) Business Minor. Japanese Minor. ## Open Source - **rpikit** — Claude Code plugin for Research-Plan-Implement workflows - **reflect** — AI tool to generate brag documents - **ring-okta** — Ring middleware for Okta SSO (Clojure) - **analytics-clj** — Clojure wrapper for Segment.io - **test-more-behaviour** — RSpec-style testing for Perl Contributions to Clojure core libraries, Spacemacs, RailsAdmin, Shopify's Semian, Docker Kitematic, and others over 15+ years. ## Context Code was never the goal. It was always just the medium. The point is solving real problems for real users — and now we have faster ways to work in that medium.