Coaching kids is harder than coaching seniors
I coach an under-12 baseball team with 19 kids and two assistants. That is a lot of bodies for one dusty infield.
I also build web products. The overlap between those two jobs surprised me. Especially around managing attention, feedback, and flow.
This is how I actually run a single 90-minute practice. Not the ideal from a coaching manual. The version that survived rain, tired parents, and kids who had three birthday parties that weekend.
The hard limit: attention, not time
My practices are 90 minutes. The kids can focus hard for about 12.
That mismatch is the core problem. Once I accepted that, the structure changed.
I stopped planning drills. I started planning attention blocks.
Here is the mental model that unlocked it for me:
- 12 minutes: max intensity window for most kids on a single task
- 4 minutes: realistic instruction time before they mentally check out
- 30 seconds: how long you have to correct something before the queue of kids collapses
I treat those like constraints in a system design doc. The practice is just an architecture that respects those limits.
Basic setup: how I split 19 kids
With 19 kids, you cannot have a single main drill. You create traffic jams and bored outfielders.
I always run three stations in parallel:
- Station A: Throwing / pitching / catching
- Station B: Hitting or bunting
- Station C: Fielding and baserunning decisions
Each station gets 6-7 kids. One assistant runs A, one runs B, and I float between B and C or step in where the attention is dropping fastest.
That floating role is important. I think of myself as a load balancer. If one station looks stuck or chaotic, I slide in, simplify, and reset the queue.
Warm-up: hidden structure in the chaos (10–15 minutes)
Kids arrive staggered, usually half-dressed and mid-snack. I do not try to start with a big talk. That never works. I use a soft ramp.
I have three phases.
1. Arrival free-throw (about 5 minutes)
Early kids grab a partner and start throwing at short distance. No markers. Just play catch.
The only rule: throw standing still, no fancy stuff. While they throw, I walk around and quietly fix grips and footwork. No speeches. Just quick one-line nudges.
2. Organized catch progression (about 7 minutes)
Once most kids are there, we snap into structure. I line them up in pairs along the foul line. Distance starts short, around 5–7 meters.
Then we run a simple progression, always the same pattern:
- 10 throws regular
- 8 throws with a focus (for example: glove to chest, quick transfer)
- 6 throws with a challenge (for example: one knee, or backhand only)
The reps go down while the focus goes up. That keeps them moving and still leaves room for teaching.
3. Quick dynamic movement (about 3 minutes)
Last part is a fast movement block. Short sprints, shuffles, and one or two agility moves.
It looks simple. Sprints to a cone, backpedal, side shuffle. But the real goal is to flip their brain from school mode into athletic mode. No story. Just sweat.
The core loop: 3 stations, 12-minute rotations
After warm-up, we go straight into the core practice. This is where the rotation and attention management really matter.
I run three 12-minute rotations, with 1–2 minutes to switch and reset.
Station A: Throwing & catching with a single focus
This station always has one narrow theme. For example:
- Four-seam grip and straight line throws
- Catching with two hands in front of the body
- Shortstop-style feeds to second base
The kids work in pairs or small triangles. I hate long lines. I want everyone holding a ball or waiting maybe one person deep.
The structure inside those 12 minutes looks like this:
- 2 minutes: demo and explanation, literally one key phrase
- 8 minutes: reps with micro-feedback every 2–3 throws
- 2 minutes: simple challenge or mini-competition
The “one key phrase” rule is hard. I keep it to something like: “Show me your four seams” or “Eyes behind the ball.”
If I hear myself stacking concepts, I cut it. When I code, I hate giant PRs with ten concerns. Same here. One focus per station.
Station B: Hitting with queue-based feedback
Hitting is where you can waste the most time. One kid swings. Eighteen kids watch the clouds.
I solved this with three changes.
Change 1: Two active hitters, two tees
I set up one tee and one soft toss spot. One assistant feeds soft toss, the other spots the tee or helps with loading and stance.
That means two kids hit at the same time. Behind them: short lines of three or four max. Everyone else is either picking up balls or shuttling them back to the bucket.
Change 2: One feedback per swing, never two
I give exactly one correction per swing, not a stack. If they roll over early, I say “Finish high” and then shut up for the next pitch.
I treat it like a tight feedback loop in a dev environment. Change one variable, observe the output, then maybe change another later.
Change 3: Target-based feedback, not technical essays
I use physical targets to teach. Cones on the field. Zones in the cage. “Hit three balls to the right-side cone” works better than “Keep your hands inside.”
The kids understand targets under pressure. The mechanics follow more naturally if the target is clear and simple.
Station C: Fielding and decisions
This station is usually what I run personally, because it mixes physical and cognitive load.
U12 kids love fielding. They also turn into traffic cones if the drill is too slow.
I keep it light and fast:
- Grounders at them, to the forehand, to the backhand
- Force play reads: “Where is the out?”
- Baserunning decisions: simple yes/no on advancing
My rule: no kid should stand still more than 20 seconds. If there is a line, I restructure the drill.
Example structure for a 12-minute block:
- 4 minutes: simple grounders with a throw to a coach
- 4 minutes: add a runner who leaves on contact
- 4 minutes: coach shouts a situation before the play
The decision part is key. I want them to think “Where do I go if I get it?” before the ball moves.
It is the same mental shift as reading a ticket before you touch the code. You want the intention clear before the action starts.
How I actually rotate 19 kids without chaos
On paper, three stations with 12-minute blocks sounds tidy. Reality is noisy.
So I use a simple rotation contract that everyone knows:
- Each group has a colour or number
- Stations are marked with that colour on a cone or bucket
- We always rotate in the same direction (for example A → B → C → A)
Before we start, I walk them through the rotation once. Literally pointing: “Red starts at throwing, then goes to hitting, then to fielding.”
Kids remember patterns better than speeches. Same with junior devs. If the pattern is stable, the content can change every week.
Feedback loops: how I keep them engaged without yelling
Attention is not just about drill length. It is also about how feedback lands.
I use three loops.
Loop 1: Immediate, specific, small
During a drill, I keep feedback tiny and instant. One action, one comment. No monologues.
Good: “Nice, glove out front.”
Better: “That last one. You stayed low. Do that again.”
Terrible: “Remember to keep your glove down, stay balanced, transfer fast, and make a strong throw.”
They only remember the last word anyway. Might as well keep it short on purpose.
Loop 2: Group reflection between rotations
After each 12-minute block, while they walk to the next station, I grab 30 seconds with the group that finished at my station.
Two questions, always in that order:
- “What felt easier after a few reps?”
- “What do you want to try different in the game?”
I want them to say it out loud. Not me. They anchor the learning better when the sentence is theirs.
This is the same reason I ask junior devs to describe their own bug before I explain it. If they can say it, they are about to fix it.
Loop 3: End-of-practice spotlight
We always finish with a short team huddle. Five minutes max.
I pick three specific wins. They are never “We worked hard.” That is meaningless fluff.
Instead:
- “Liam caught three grounders in a row without standing up before the ball.”
- “Sara hit two balls to the right side when we asked for it.”
- “The blue group shouted the play before every pitch at fielding station.”
Kids watch who gets called out. They reverse engineer what matters. That shapes behaviour faster than any long talk about effort or discipline.
Attention management tricks that also work in tech
Coaching this many kids forced me to name a few patterns that I was already using subconsciously in product work.
Here are the ones I keep stealing back into my dev life.
1. Short, obvious queues beat long invisible ones
Lines of ten kids feel endless. They disengage. But three short lines of three feel active.
Same for work. One overloaded engineer with a huge invisible backlog is checked out. Smaller, visible queues per person work better.
2. One constraint at a time
In practice, one correction per station. In code, one concern per pull request. The brain likes single-threaded focus, even when it pretends to multitask.
I see a massive difference when I resist the urge to “fix everything” in one go. Kids shut down. Devs do too.
3. Make progress visible, not abstract
Instead of saying “Your throwing mechanics are improving,” I say “Last week half your throws bounced. Today almost all were chest-high.”
On a project, I try to do the same. Show before/after. Latency charts. UI screenshots. Anything concrete beats motivational speeches.
Handling chaos: what I do when it all falls apart
Sometimes the perfect plan dies by minute 20. Kids are tired, balls go everywhere, someone gets hit, and the focus evaporates.
When that happens, I do not push through the schedule. I reset the system.
My emergency pattern looks like this:
- Call everyone in to the mound or home plate
- Give them 30 seconds to drink water and talk nonsense
- While they sip, I quietly adjust the next block to be simpler and more competitive
Then we run one team game that touches the core skill I still want to hit that day.
Example: if throwing mechanics were a disaster, we play a relay race with strict throw distances and accuracy points. If fielding was rough, we play a rapid-fire ground ball game with cones as targets.
The idea is the same as killing a failing feature flag and shipping a tiny hotfix instead of fighting the entire system. Regain stability first. Polish later.
Why I keep coaching despite the chaos
I have shipped plenty of apps and client work. None of that prepared me for nineteen ten-year-olds with bats and zero filter.
But running these practices made my attention management sharper than any productivity book. You cannot fake it with kids. They will simply walk away mentally.
So I treat each practice like a live system under load.
Short windows of focus. Tight feedback loops. Clear queues. And a coach that floats, watches, and adjusts instead of clinging to a static plan.
It works on the field. It works in code reviews. Turns out the same human brain is behind both.
Subscribe to my newsletter to get the latest updates and news
Member discussion