Here’s something nobody tells you about being an ESL engineer: your meetings are twice as expensive as everyone else’s.
Not time-expensive. Cognitively expensive. When you walk into a standup or a design review, you’re not running one process. You’re running four — simultaneously, in real-time, with no swap space.
The Stack
This is what’s happening in my head during a meeting:
-
Parse the English. Not vocabulary — I know the words. It’s the rhythm, the idioms, the places where native speakers blur three words into one sound. “Whaddya think about” is a single unit if you grew up with it. For me it’s a string I have to tokenize.
-
Process the technical content. Bazel dependency graphs. Docker layer caching. CI pipeline architecture. This would be hard in Chinese too.
-
Formulate a response. Not just the idea — the English version of the idea, with correct tense, natural word order, appropriate hedging.
-
Calibrate the social layer. Is this the right moment to speak? Am I being too direct? Too uncertain? Should I hedge more? Less?
All four. At once. Under time pressure. With people watching.
The ADHD makes it worse. My brain wants to chase the most interesting thread, not the most relevant one. The ASD means I’m also spending cycles parsing whether Ryan’s “hmm” was skepticism or just him thinking. By the time I’ve processed all of this, the conversation has moved on. The window for my response closed three seconds ago.
So I say nothing. Or I say something half-formed. Or I freeze.
Why “Practice More English” Misses the Point
People mean well when they say this. And they’re not wrong that practice helps — I am actively training my English processing. But the advice assumes the bottleneck is vocabulary or grammar.
It’s not.
I can write perfectly clear English. I can read technical docs all day. The bottleneck is real-time generation under social pressure. It’s the difference between writing a function and live-coding in an interview. Same language, completely different cognitive demand.
In a meeting, there’s no backspace. No time to rephrase. No chance to read your sentence back and think “actually, let me restructure that.” You get one shot, you get it now, and six people are looking at you.
That’s the thing native speakers don’t have to think about. English is free for them — zero marginal cost. For me, every sentence is a small act of translation, and translation under time pressure is where the system breaks down.
The System I Built
So I cheat. Kind of.
Before meetings where I need to present or discuss something, I do a prep session. Not content prep — I already know the content. Language prep.
Here’s what it looks like:
The pitch. A clean 2-3 sentence summary of what I want to say, written out, practiced out loud. Not memorized word-for-word — just enough that the sentence shapes are loaded. If someone asks “what’s this about?”, the answer comes out smooth instead of stumbling.
Humble hedges. This is the one that sounds weird until you think about it. I pre-load phrases for signaling uncertainty:
- “This is still pretty early — haven’t verified it against production data yet.”
- “It’s more of a proof of concept than a finished tool.”
- “I think the approach is sound, but I’d want to validate X and Y before committing to it.”
Why pre-load these? Because in the moment, when someone asks “is this production-ready?” and the answer is no, finding the right English to say no, but here’s why it’s still worth discussing while also sounding competent and not defensive — that’s exactly the kind of multi-threaded processing that causes the freeze. Having the hedge ready means I can deploy it without generating it.
Predicted Q&A with branching responses. This is the core of it. I write out likely questions and script 2-3 answer variations:
RYAN: How does this handle packages with native dependencies?
ME: Right now it doesn't — native deps like CUDA are out of scope.
That's a known limitation.
(if asked for more detail:)
ME: The analyzer only tracks Python-level imports. C++/Cython
deps would need a different approach entirely.
(if asked about timeline for fixing:)
ME: Honestly, I haven't scoped that yet. Probably worth a
separate investigation.
The branching is key. A single scripted answer breaks the moment someone asks a follow-up you didn’t expect. But if you’ve pre-loaded the likely follow-ups, you’ve turned real-time generation into pattern matching. That’s a much cheaper operation.
Recovery phrases. These are the safety net:
- “Sorry, could you say that again?”
- “I want to make sure I’m understanding — are you asking about X or Y?”
- “Let me think about that for a second.”
Sounds simple. But for me, even the act of asking for clarification requires generating English under pressure. And there’s a layer of shame on top — the feeling that asking someone to repeat themselves reveals that you’re struggling. Having the phrases pre-loaded removes the generation cost, and practicing them out loud removes the shame. They become just… things you say. Normal things. Not admissions of failure.
How AI Changes This
I use Claude for this prep now, and it changed the equation in a way I didn’t expect.
It’s not that AI replaces the thinking. I still know what I want to say. The technical understanding is mine. What AI does is pre-generate the language patterns so I can focus on the substance instead of the English.
I hand it my technical context — the PR, the analysis, the thing I want to present — and say “prep me for a meeting.” What comes back is a pitch, hedges, scripted Q&A with branching, recovery phrases. All calibrated to my actual teammates’ communication styles, because I’ve built voice profiles from meeting transcripts.
That last part matters more than it sounds. Generic meeting prep feels fake. But when the script has Ryan asking questions the way Ryan actually asks questions — shorter sentences, straight to the practical concern — the rehearsal feels real. My brain pre-loads the social context alongside the language. So when the real conversation happens, it’s not cold-start generation. It’s warm recall.
Is this a crutch? Maybe. I go back and forth on it. But here’s the thing — native speakers walk into meetings with their language pre-loaded too. They just loaded it over twenty-five years of immersion instead of thirty minutes of prep. The end state is the same: you walk in with the patterns ready, and you can focus on the ideas.
What This Actually Is
I want to be honest: this is a workaround, not a fix.
The underlying difficulty is real. I still freeze sometimes. I still lose the thread when the conversation moves fast and someone uses an idiom I’ve never heard. I still walk out of meetings thinking I should have said that better. The prep doesn’t eliminate any of this. It just makes the gap between what I know and what I can express a little smaller. A little more manageable.
And maybe that’s enough. I don’t need to sound like a native speaker. I need to sound like myself — someone who has the technical depth, who did the work, who has opinions worth hearing — just in a language that doesn’t always cooperate.
The prep gives me that. Not fluency. Access.