Speaking Practice: Shadowing — Explaining Architecture to a New Teammate
Shadowing is one of the fastest ways to internalize how English speakers talk about systems. You read a script written the way a fluent engineer would actually say it — not textbook English, real spoken English — and your mouth learns the patterns.
Today’s script: a senior engineer walking a new teammate through how the backend works on their first day.
How to use this post:
- Read the script silently. Understand every sentence.
- Read it aloud at normal speed. No stopping, no translating.
- Repeat twice more.
- Then say the same explanation using your own system, your own words.
Key Phrases to Internalize
| Phrase | IPA | How it sounds |
|---|---|---|
| ”Let me walk you through it” | /lɛt miː wɔːk juː θruː ɪt/ | the th in “through” — tongue tip, not “t" |
| "The reason we structured it this way” | /ðə ˈriːzən wiː ˈstrʌktʃəd ɪt ðɪs weɪ/ | “structured” — STRUK-cherd, 2 syllables |
| ”Trade-off we accepted” | /treɪd ɒf wiː əkˈsɛptɪd/ | stress on “ac-CEP-ted" |
| "What this buys us is” | /wɒt ðɪs baɪz ʌs ɪz/ | natural spoken condensation |
| ”Does that make sense so far?” | /dʌz ðæt meɪk sɛns soʊ fɑːr/ | the th in “that” — voiced |
| ”The failure mode here is” | /ðə ˈfeɪljər moʊd hɪər ɪz/ | ”failure” = FAYL-yer, not FAIL-ure |
Vocabulary Quick-Hit
| Word | Stress | Common Mistake |
|---|---|---|
| architecture | ar-chi-TEC-ture | Vietnamese: ar-chi-tek-TURE |
| throughput | THROUGH-put | not THROW-put — the th is voiced as in “the” |
| latency | LAY-ten-see | not la-TEN-cy |
| synchronous | SIN-kruh-nus | not SIN-chroh-nus |
| idempotent | eye-DEM-puh-tent | not ID-em-po-tent |
| downstream | DOWN-stream | say as one word, equal stress |
Shadowing Script: Day One Tour
Read this aloud. Three times. Without stopping.
So, let me walk you through how our backend is organized. At a high level, we have three main services: the API gateway, the order service, and the payment service. Each one does one job and one job only — that is a design choice we made early on, and we have mostly been happy with it.
The API gateway is the front door. Every request from the mobile app or the web client comes through there first. It handles authentication, rate limiting, and routing. It does not do any business logic — if you see business logic in the gateway, that is a bug, not a feature.
The order service owns everything related to orders — creating them, updating their status, and emitting events when something changes. The reason we chose an event-driven model here is that we needed to decouple the order service from the payment service. Before we did that, they were tightly coupled and deployments were a nightmare — you had to coordinate both teams every time.
The payment service listens for order events on Kafka and handles all the payment processing. The trade-off we accepted here is that payment confirmation is asynchronous — you place an order and you do not immediately know if payment succeeded. What this buys us is resilience. If the payment service goes down, orders still come in. They just wait in the queue. Does that make sense so far?
Now, the failure mode you need to know about: if an order event is malformed, the payment service will dead-letter it — send it to a separate topic — and continue processing. It will never block. That is by design. The dead-letter queue is something you will want to monitor on your second or third day, because that is where problems show up before they become incidents.
One more thing: we have a read replica for the order database that all the reporting queries go to. Never hit the primary for analytics — that is the unwritten rule that nobody wrote down until last year. I am telling you now so you do not make that mistake.
Pronunciation Drills: The Hard Sounds
The /θ/ sound — “th” (unvoiced, as in “through”, “three”, “think”)
Tongue tip touches the back of your top front teeth. Blow air out.
“The throughput through the service is three thousand requests per second.”
Say it slowly: THE — THROUGH — THREE. Feel where your tongue is. Now say it at normal speed.
The /ð/ sound — “th” (voiced, as in “that”, “the”, “this”)
Same position, but vibrate your vocal cords.
“That’s the thing about distributed systems — the failure mode is always the thing you didn’t design for.”
The /f/ vs /v/ contrast
“The first version of this service failed on the fifth deployment.”
F = breathe out against top teeth. V = vibrate. They are not the same. Practice until they sound different even to yourself.
Consonant clusters: -str, -thr, -nch
“Structured throughput in a crunched window.”
Start slow, then speed up until it flows.
5-Minute Drill
- Read the shadowing script aloud once. Time yourself.
- Mark any word you stumbled on.
- Say that word 5 times alone, slowly.
- Read the script again, paying attention to those words.
- Now explain your own system in 3-4 sentences using today’s key phrases. No script.
Your 3-4 sentences should start with: “Let me walk you through how [your system] is organized…”
What Senior Engineers Notice
When a non-native speaker explains a system well, it is rarely about accent. It is about:
- Pacing — not rushing through technical terms
- Signposting — “At a high level…”, “The reason we…”, “Does that make sense?”
- Owning the decision — “We chose this because…” not “This was decided…”
The shadowing script above models all three. Read it enough times and you will start using those patterns naturally.
Tomorrow: 5h UTC — Speaking Practice: Role-Play — Giving Feedback on a Pull Request in English