• Upcoming

    DevOpsDays Dallas 2026

    September 28–29, 2026 Southwest Airlines Wings Building, Dallas, Texas
Delivered

20 Years of Frontend Lessons: Architecture Decisions That Actually Matter

September 3–4, 2026 The Commit Your Code Conference (CYC '26), Capital One Campus, Plano, TX View Slides (PDF)

After two decades building frontend systems across airlines, healthcare, financial services, and government — the lessons that matter most aren't about frameworks. They're about judgment. This talk shared the architecture decisions that consistently separate systems that scale from systems that struggle: when to abstract and when not to, how to design state management you won't regret, how to earn trust from backend teams and stakeholders, and how to lead technical direction without losing your team along the way.

Lesson 01 · Change

Design for the next change.

Map likely change paths and keep their blast radius small, even when launch pressure is high. Clean code is not the same as cheap change.

Lesson 02 · Abstraction

Wait for the pattern. Then abstract at the seam.

Use real examples to discover what varies, and place the abstraction where systems change independently — not at the center.

Lesson 03 · State

Keep state local and make it honest.

Promote state only for real coordination, and model mutually exclusive states explicitly. If the model allows nonsense, the UI will eventually produce it.

Lesson 04 · Trust

Trust grows when surprises shrink.

Share risks and tradeoffs before implementation locks them in. Good direction needs trust, not just authority.

Lesson 05 · Leadership

Lead with constraints, not control.

Make the why and the non-negotiables clear, and let the team shape the how. Direction without autonomy becomes dependency.

Synthesis

Architecture is the cost of change.

Code change × coordination × confidence — five judgment calls that outlast frameworks.

Interested in having me speak?

I'm available for conferences, meetups, and internal engineering events.

Reach out on LinkedIn ↗