ESL at Work: AI as a Cheat Code

2026/02/23

LIVEai-toolingesl

There’s a specific kind of tired that comes from being an ESL engineer in an American tech company. Not physical tired. Not even “too many meetings” tired. It’s the kind where your brain has been running two processes simultaneously all day — understanding the technical problem AND translating the language it’s wrapped in — and by 3 PM both threads are deadlocked.

Add ADHD and autism to the mix and you’ve got a system that was already running hot on processing, now also handling real-time language decoding with no swap space.

I’ve been doing this for years. I’ve gotten decent at it. But “decent” still means re-reading Slack threads three times, writing a two-sentence reply that takes ten minutes, and spending half of every meeting parsing idioms instead of listening to the actual content.

Then I started using Claude Code for my daily work, and something weird happened. I accidentally built a language learning system.

Two modes

Here’s the framework. Your brain operates in two modes when it comes to English at work:

Training mode. Normal day. No fires. You have time. You draft that Slack message yourself, even if it takes a while. You read the thread yourself before asking for a summary. You write the PR description in your own words first. This is where the learning happens.

Cheat mode. Deadline. Incident. Brain is fried. You dump your intent in Chinese — or broken English, or bullet points, or a stream of consciousness that would make your English teacher cry — and let AI turn it into polished professional English instantly. No guilt. No friction. Just output.

The key insight, the one that took me embarrassingly long to figure out: cheating IS practice.

Every time you read the AI’s output, you’re absorbing patterns. You’re seeing how a native speaker would phrase what you were trying to say. You’re not skipping the learning — you’re doing spaced repetition without the flashcards.

Training mode: how to actually learn from AI

The Draft-Polish loop

This is the highest-ROI thing I do. The process:

  1. Write a rough draft in English. Don’t overthink it. Just get the meaning down.
  2. Give it to Claude: “Polish this, keep my voice.”
  3. Read the diff.

Step 3 is where 90% of the learning happens. Not reading the polished version — reading the difference between what you wrote and what it became. That diff is a personalized English lesson targeting exactly the patterns you haven’t internalized yet.

You’ll notice things like:

Those corrections, in the context of something you actually tried to say, stick ten times better than any grammar exercise.

Thread summaries as reading practice

When a long Slack thread drops and your first instinct is “let AI summarize this,” try this instead:

  1. Read it yourself first. Even if it’s painful. Even if you only get 60%.
  2. Then ask for the AI summary.
  3. Compare what you understood with what the summary says.

You’ll catch the gaps. Maybe you missed that “LGTM with one nit” means “approved but fix this small thing.” Maybe you didn’t realize “let’s circle back” meant “I’m killing this topic.” Over time, those gaps shrink.

(Some days you skip step 1. That’s cheat mode. That’s fine.)

Phrase banking

Keep a note somewhere — I use a text file, because I’m that person — of natural phrases you pick up from AI output. Not vocabulary words. Phrases. The building blocks of sounding like you belong.

A few from my collection:

The left column is what I would have written. The right column is what Americans actually say. The gap between them is the entire game.

Meeting prep

Before a meeting where I know I’ll need to speak, I give Claude the agenda and ask for 3-4 sentences I might need. Then I practice saying them out loud.

Not reading them. Saying them. Out loud. Like a weirdo talking to their monitor.

This sounds silly until you realize that the bottleneck in meetings isn’t knowing what to say — it’s producing the English fast enough to say it before the conversation moves on. Pre-loading a few phrases reduces the real-time generation load. For an ADHD brain already struggling with working memory, that’s the difference between contributing and sitting there composing a perfect sentence that arrives 45 seconds too late.

The conversation script (the real cheat code)

Phrases are good. But phrases only prep the monologue — the part where you’re reporting status. The part that actually kills you is the back-and-forth. Someone asks a follow-up question you didn’t expect, and suddenly you’re composing English in real-time under social pressure while also trying to think about the technical answer. Two threads, one CPU, zero swap space.

So I started generating movie scripts.

Not metaphorically. Literal screenplay-format mock conversations:

RYAN: So what's the status on the torch migration?

YOU: Path A is done — mai_config no longer requires torch
     at import time. Path B is in progress, I'm working
     on the Linux CI override.

RYAN: Nice. What's the timeline?

YOU: Probably this week, if the override approach is clean.

     (if you're not sure about timeline:)
YOU: Still scoping it — I'll have a better estimate
     after I test the mechanism.

SOMEONE: [question you don't understand]

YOU: Can you say more about that? I want to make sure
     I'm following.

The key details that make this work:

Real names. Not “Teammate A.” Using actual names primes the social context in your brain. When Ryan actually asks the question, it feels like déjà vu instead of an ambush.

Branching responses. The (if X, say Y) format is critical. You can’t predict exactly what they’ll ask, but you can predict the categories — timeline questions, blocker questions, scope questions — and pre-load a response for each branch. It turns real-time generation into pattern matching.

Recovery phrases. Every script includes lines for when you don’t understand. “Can you say more about that?” and “Just to clarify, are you saying [X]?” These are the emergency exits. Having them pre-loaded means you never freeze — you just reach for the recovery phrase while your brain catches up.

Short responses. Two to three sentences max. This matches natural meeting cadence. Nobody monologues in a sync. And shorter responses mean fewer chances to trip over grammar mid-sentence.

I practice these out loud before the meeting. The whole thing takes maybe five minutes. But those five minutes convert a meeting from “anxiety-inducing social performance in a second language” to “running lines I’ve already rehearsed.” The cognitive load drops dramatically.

And here’s the thing nobody tells you about being ESL in meetings: native speakers also prepare talking points. They just do it in their head, because generating English is free for them. You’re doing the same thing, just externalizing it. That’s not cheating. That’s compensating for a hardware difference with better software.

Voice profiles: learning how your coworkers actually talk

The conversation scripts got better when I stopped guessing how people talk and started measuring it.

I feed meeting transcripts from Otter AI into Claude and ask: break down each speaker’s language patterns. Not what they said — how they said it. The output is a voice profile for each coworker:

Here’s what a voice profile entry looks like in practice:

### Ryan — The Direct Systems Thinker

Sentence structure: Complete, well-formed. Noticeably cleaner than most.
Explains in: problem → mechanism → implication pattern.
Disagrees by: "I just suspect that... this is potentially problematic"
Proposes by: "I think I have two ideas that are reasonably complete"
Filler words: almost none. Uses "so" to start explanations.
Dry humor: "Immediately. Wonderful. Immediately this [raises concern]."

With these profiles, the meeting scripts stop being generic dialogue and start being realistic simulations. When I rehearse a script where “Ryan” asks a follow-up question, it actually sounds like Ryan. The patterns match. So when the real Ryan asks the real question in the real meeting, my brain recognizes the pattern instead of parsing it from scratch.

This is the same trick that language immersion gives you, except instead of needing six months of exposure to internalize someone’s speech patterns, you get it from one analyzed transcript. Speed-running familiarity.

I keep the voice profiles in a file that gets pulled into every meeting prep session. As I analyze more meetings, the profiles get richer. It’s a compounding investment — every transcript makes every future meeting prep better.

The full toolkit

At this point the meeting prep system has a few moving parts. Here’s what I actually have configured:

Always-on config (loaded every session):

Agents I can call:

Slash commands:

Artifacts that grow over time:

None of these are complicated individually. The power is in how they connect — the voice profiles feed into the meeting scripts, which use the zwriter’s tone rules, which reference my own phrase bank. It’s a system that gets better the more I use it, and using it is the practice.

Cheat mode: when you just need to ship

Some days you’re not learning. Some days you’re surviving. Here’s where Claude Code becomes genuinely unfair:

Slack messages. I dump intent in Chinese or messy English into my terminal. Claude drafts a clean, Bay Area casual message. It sends it via Slack MCP. My coworker sees a perfectly normal English message. Nobody knows I spent zero cognitive energy on the language part.

PR descriptions and review responses. I write bullet points of what I did and why. Claude turns them into professional prose with the right technical tone. The diff review comment that would have taken me 15 minutes of agonizing over phrasing takes 30 seconds.

Long thread TL;DR. Instead of the “read it, re-read it, re-read it again, still confused, okay one more time” cycle, I just ask for a summary with key decisions and action items highlighted. On bad brain days this alone saves an hour.

Meeting follow-ups. After a meeting, my notes are a mess of mixed Chinese and English fragments. Claude structures them into proper action items and sends them out. People think I’m organized. I’m not. I’m augmented.

Standups and weekly reports. Claude reads my recent git activity and drafts a status update. All I do is sanity-check it. This one is less about language and more about the ADHD tax on “remembering what you did yesterday,” but the English polish is a bonus.

Why the guilt is wrong

There’s this nagging feeling — I know because I had it — that using AI for English is cheating. That you’re not “really” improving. That you’re building a crutch.

Here’s why that’s wrong: the alternative isn’t “struggling through it builds character.” The alternative is avoidance. You don’t write the message. You don’t engage in the thread. You sit quietly in the meeting. You skip the PR review because responding would take too much energy. The “honest” path isn’t more learning — it’s less participation.

AI doesn’t replace your English. It removes the activation energy barrier that was preventing you from engaging in the first place. And every engagement is practice, whether you drafted it yourself or not.

The meta-strategy

Here’s how the two modes work together over time:

  1. Don’t skip reading the output, even in cheat mode. This is the minimum viable practice. Read what the AI wrote. Notice patterns. “Oh, they used ‘surface’ as a verb. Huh.”

  2. Notice the patterns. Keep a background thread running: how do native speakers phrase things? What idioms keep appearing? What’s the rhythm of casual English at work? You’re not studying — you’re absorbing. (The ADHD brain is actually weirdly good at this kind of passive pattern matching, as long as you don’t frame it as homework.)

  3. Gradually raise the bar. As patterns stick, draft more yourself. The ratio of training to cheating shifts naturally. You don’t force it. One day you just notice you wrote “heads up” instead of “I want to inform” without thinking about it. That’s the compound interest kicking in.

  4. Training wheels you adjust, not remove. Even fluent speakers use tools. Native English speakers use Grammarly. The goal isn’t to stop using AI — it’s to shift from “I can’t function without it” to “it makes me faster.” That’s a completely different relationship with the tool.

What’s next: teaching AI to sound like me

The current system has a gap. Claude writes good English. But it writes Claude’s English — fluent, slightly too articulate, a little too polished. It sounds like a really helpful colleague who went to a better school than me. What I actually want is English that sounds like me on a good day.

That means feeding it examples of how I actually communicate, not how it thinks I should.

The input sources are sitting right there:

Slack messages. Thousands of them. My DMs, my channel posts, my thread replies. The casual, unfiltered version of how I write when I’m not overthinking it. This is the richest source — it’s me at my most natural, typos and all.

PR descriptions and review comments. My technical voice. How I explain code decisions, how I push back on approaches, how I say “this is wrong” without saying “this is wrong.” GitHub and ADO both have years of this.

Meeting transcripts. Otter AI has recordings of how I actually speak — which is different from how I write. The filler words, the sentence fragments, the way I rephrase things mid-sentence. This is messy data, but it’s honest data.

My blog posts. You’re reading one. These are the most deliberate version of my voice — what I sound like when I have time to think and edit. The aspirational target for everyday communication.

Linear tickets and comments. How I scope work, describe bugs, frame priorities. My product-thinking voice.

Other Claude Code sessions. Here’s a wild one — my past conversations with Claude are themselves a corpus of my communication patterns. The rough intent I provide, the way I correct outputs, the phrasings I accept vs reject. It’s literally a preference dataset.

The dream setup: a pipeline that pulls from all these sources, extracts my patterns — my vocabulary, my sentence rhythms, my go-to phrases, my level of formality in different contexts — and uses that as a style guide for AI output. Not fine-tuning a model on my data (that’s overkill and probably a privacy nightmare). More like building a “Zoe style sheet” that Claude references when drafting messages for me.

Imagine: you dump intent in Chinese. Claude drafts a message. But instead of sounding like Generic Professional English, it sounds like you. Your word choices. Your rhythm. Your specific brand of casual. Your coworker reads it and doesn’t think “that sounds AI-generated” — they think “yep, that’s Zoe.”

That’s the difference between a translation tool and an augmentation tool. Translation gives you someone else’s words for your thoughts. Augmentation gives you your words, just faster.

I haven’t built this yet. But the pieces exist — MCP servers for Slack and Linear, GitHub APIs, Otter AI exports, a blog full of writing samples. The hard part isn’t collecting the data. It’s figuring out what “sounding like me” actually means in a way a machine can learn.

More on this when I figure it out. Or when Claude figures it out for me. Either way.

The honest version

I still use cheat mode most days. Some weeks it’s 80% cheat, 20% training. Other weeks it flips. The ratio tracks my energy, my stress level, how many meetings I had, whether I slept well, whether my ADHD meds are working.

And that’s fine. The system works because it meets me where I am, not where I think I should be.

The worst thing you can do as an ESL engineer is internalize the idea that you should be performing language at the same level as native speakers, unassisted, all the time. That’s not a reasonable standard. It’s barely a reasonable goal. The reasonable goal is: participate fully, communicate clearly, and get better over time.

AI makes all three of those easier. Use it.