# Career — Level 2

## Overview

An engineering leader with 30 years of work experience spanning software systems and product development from distributed architecture to organizational leadership. I operate across these domains as a systems thinker, rather than as a generalist, understanding how each layer affects the others. The driving question of my work: how do you make it easy for teams to do the right thing?

*[Read more →](career-level-3.md#overview)*

## How I Lead

I lead at the level of the work, the product, and the strategy, with continuity as my primary concern. I lead by example, work to make the whole team aware of the entirety of the work, and encourage teams to surface mistakes as improvement opportunities. My motto is "specific countermeasures for specific circumstances," applied through process principles rather than methodology dogma. I've coached people at every level, from juniors to executives, and across starting products, joining mature teams, and modernizing legacy products.

*[Read more →](career-level-3.md#how-i-lead)*

## Origins and Practice

Independent contracting since 1991, beginning with chemical product manufacturing systems at Zep Manufacturing. That early work established a pattern that has held across every engagement since: high-trust, high-autonomy work, owning the problem end to end. Across three decades I've led engineering teams ranging from two to twenty people, and full product organizations up to thirty when including operations, subject matter expertise, and management.

*[Read more →](career-level-3.md#origins-and-practice)*

## Eventide Project

Founder and principal author of the Eventide Project and Message DB, an open-source framework and event store for event-sourced, message-driven systems active since 2014. Recipient of the Fukuoka Ruby Award for Social Impact. I authored the project's documentation, including the Doctrine of Useful Objects, the Eventide Project's structural design style guide, which favors behavioral over data-centric components and testability through telemetry. The project is entering its next generation as I mentor two engineers as my successors, with the goal of handing off to the next generation of leaders this year.

*[Read more →](career-level-3.md#eventide-project)*

## Recent Work: Award-Winning Product at Global Law Firm

Most recently, I co-managed a five-year project with a global law firm, managing the growth of a software platform team from four people to thirty. As principal architect, principal engineer, process leader, and tooling author, I shaped every layer of how the team worked and what it built. The platform, built on Eventide and Message DB, automated key legal workflows across the firm's emerging companies and venture capital practice and earned the firm a place on Fast Company's World's Most Innovative Companies list. The platform and team continue to grow.

*[Read more →](career-level-3.md#recent-work-fast-company-recognized-platform-at-global-law-firm)*

## Production System Thinking

I've been a student of Lean and the Toyota Product Development System for over twenty years, well before its popularity in the startup world, with direct relationships with teachers in the field and considerable experience translating these practices to software product development.

*[Read more →](career-level-3.md#production-system-thinking)*

## Design Philosophy

My purpose in design is developer experience and developer productivity. The same applies equally to engineers and end users. The design hierarchy runs from principles to patterns to frameworks and tools, in that order. Favoring the lower tiers at the expense of principles is a productivity cost the team eventually pays.

On a productivity balance sheet, proven work is an asset and unproven work is liability. It's akin to inventory in production systems: invisible until the moment it breaks continuity.

Compartmentalization is the structural enabler. Test setup difficulty is the diagnostic surface for design quality, and test-driven design is a leading productivity indicator rather than just a correctness check.

I appreciate designs that emit telemetry as incremental events, where mocks aren't needed and tests stay soluble.

*[Read more →](career-level-3.md#design-philosophy)*

## Product Design

Product design to me means giving users powers. Users first, then commercial, then operations, balancing all three day to day. I engage through human factors psychology with as much vigor as I engage with commercial imperatives.

The ideal product interface dissolves on contact with a user, becoming largely invisible to the user, whether it's the user interface, product operations and support, an API, or the implementation code itself. The product is soluble: users know what to do next at a glance.

I concentrate more on usability and functionality, deferring aesthetics until functionality has settled, and prefer an executable style guide to tribal knowledge.

*[Read more →](career-level-3.md#product-design)*

## Testing Philosophy

In testing, I center on structural design, with transparency and telemetry built into systems as design elements rather than afterthoughts. Interactive testing (or "manual" testing) is critical to a complete testing practice. Human inspection has its own value, even as AI takes on more of the work, and the highest leverage from tooling often comes from automated support for test setup, putting the system in the right state for a human inspector to evaluate what matters. Components designed to be transparent about their state and behavior make both interactive and automated testing a natural consequence of good structure rather than an effort layered on top of it.

Testing is not overhead against speed; it is the mechanism by which speed doesn't become debt. Test setup difficulty is the diagnostic link between testing and design quality.

*[Read more →](career-level-3.md#testing-philosophy)*

## Working with AI

I came to AI through skepticism rooted in an XP and test-driven design background, where the precision and outcomes of hard-won techniques felt threatened by AI's introduction. As I've woven AI into my work both inside and outside of software, the resistance has given way to fascination. I'm no longer skeptical that AI and the rigor I brought with me can be reconciled, even if it's not yet clear what the integration will look like.

The AI writes under my direction. I also learn things in unfamiliar domains by inspecting the AI's products. I'm now learning to integrate the AI into the proofs and inspections themselves. The progression is concrete: small utility scripts, a Git client (git-stage), an SMTP archiving utility, a queue tool for public meetings (speaker-queue), and active work on the next generation of the Eventide Project, including skills for both working with Eventide and working on Eventide itself. The same rigor of controlled, micro-incremental, provable work that I brought with me pays the same dividends.

*[Read more →](career-level-3.md#working-with-ai)*

## Teaching and Community

Teaching and curriculum development have been a constant thread throughout my career, from some of the earliest developer testing workshops in 2000 to currently mentoring my successors on the Eventide Project, with the goal of handing off the project to the next generation of leaders this year. I've founded developer conferences and communities across the US, Canada, Sweden, and Norway, and spoken at events worldwide. As remote tools and techniques have matured, my outreach has shifted toward remote coaching, where the self-selecting cohort makes it the more productive channel.

*[Read more →](career-level-3.md#teaching-and-curriculum)*
