Back to blog

2026.03coaching / engineering / systems

What 16 years of coaching taught me about system design

The best systems I've built started the same way the best teams I've coached did — with a clear understanding of the constraints before anyone touches the solution.

The parallel

In coaching, you don't design a formation around the players you wish you had. You design around the players on the field, their strengths, their tendencies, the conditions of the game. Software is the same. The best architecture is the one that accounts for the real constraints: the team's skill set, the deployment target, the timeline, the budget.

Simplicity is discipline

Every season, I'd watch new coaches overcomplicate their systems. Three backup plans for every scenario. Contingencies for contingencies. The result was always the same — players froze because they had too many options.

In engineering, I see the same pattern. Over-abstraction. Premature optimization. Systems designed for scale that will never arrive. The discipline is in knowing what to leave out.

Feedback loops

A good coaching session has a tight feedback loop: demonstrate, practice, correct, repeat. A good engineering workflow mirrors this. Ship, observe, adjust. The teams that improve fastest are the ones that shorten the distance between action and feedback.

The takeaway

Sixteen years of coaching taught me that the best systems — whether on a soccer field or in a codebase — are simple, adaptable, and built for the people who actually use them.

EOF

Joey Schnepel — Phoenix, AZ — 2026