Good morning! It’s Monday — the perfect day to sharpen the English you’ll actually need this week: the vocabulary your teammates use in code reviews, PRs, standups, and Slack threads. Today we go deep on technical English, starting with a word every developer says constantly but often mispronounces.


🌟 Word of the Day: Refactor

IPA Pronunciation: /riːˈfæktər/

Vietnamese meaning: Tái cấu trúc code / Viết lại code mà không thay đổi chức năng

To refactor means to restructure existing code without changing its external behavior — you clean it up, simplify it, make it more readable or efficient, but the output remains the same. It’s one of the most important words in a professional developer’s vocabulary.

“The code works, but before we add new features, we should refactor this module — it’s gotten too complex to reason about.”

🗣️ 3 Example Sentences

  1. “I’m going to refactor the authentication service this sprint — the current code has too many responsibilities in one file.”
  2. “The PR looks good, but we really need to refactor this function before it ships — it’s 200 lines and does 5 different things.”
  3. “Martin Fowler literally wrote the book on refactoring. If you haven’t read it, it’ll change how you think about code quality.”

📋 Technical Vocabulary Table

PhraseVietnameseExample Sentence
merge conflictxung đột khi merge code”I got a merge conflict on main — can you rebase before I finish review?“
breaking changethay đổi phá vỡ tương thích ngược”Upgrading to v3 introduces a breaking change in the auth API — we need to update all clients.”
rubber duck debuggingdebug bằng cách giải thích vấn đề ra ngoài”I spent 2 hours stuck, then tried rubber duck debugging with my coffee mug — and found the bug in 5 minutes.”
ship ittriển khai / phát hành (đưa lên production)“Tests are green, review is approved — let’s ship it.”
code smelldấu hiệu code có vấn đề thiết kế”This nested if-else 8 levels deep is a classic code smell — it needs to be refactored.”

🎯 Pronunciation Guide

Word of the Day Breakdown: refactor

SyllableSoundStress
re/riː/long “ee” — like “ree”
FAC/ˈfæk/primary stress — “fack” with short “a” like “cat”
tor/tər/schwa + r — unstressed, like “ter”

Full word: ree-FAC-ter

Common mistakes for Vietnamese speakers:

  • ❌ “re-FAK-tor” (the final vowel is not a strong “o”)
  • ❌ “reh-FAC-tor” (the first syllable uses long “ee”, not short “eh”)
  • ✅ “ree-FAC-ter” — stress the middle syllable, unstressed schwa at the end

Related forms:

  • refactoring /riːˈfæktərɪŋ/ — “We’re refactoring the payment module this sprint.”
  • refactored /riːˈfæktərd/ — “I refactored the service into three smaller modules.”

🔊 Practice Sentence (read aloud 3x)

“Before adding new features, the team decided to refactor the legacy authentication code to reduce complexity and improve testability.”

Break it down:

  • be-FORE add-ing NEW fea-TURES
  • the TEAM de-CID-ed to ree-FAC-ter
  • the LEG-a-cy au-THEN-ti-ca-tion CODE
  • to re-DUCE com-PLEX-i-ty and im-PROVE test-a-BIL-i-ty

✏️ Exercise 1: Fill in the Blank

Use: (refactor / merge conflict / breaking change / ship it / rubber duck debugging / code smell)

  1. “I found the bug by doing ______ — explaining the function out loud to myself made me realize the off-by-one error.” (debug bằng cách nói ra)
  2. “The new SDK version introduces a ______ — all teams must update their integration before the deadline.” (phá vỡ tương thích)
  3. “CI is green and the PM gave the thumbs up — ______!” (triển khai thôi)
  4. “This 500-line class with 30 methods is a ______ — it needs to be split into focused components.” (dấu hiệu code có vấn đề)
  5. “There’s a ______ on the login branch — can someone rebase before I start my review?” (xung đột merge)
  6. “We should ______ the data processing pipeline before adding the new export feature.” (tái cấu trúc)
✅ Answers
  1. rubber duck debugging
  2. breaking change
  3. ship it
  4. code smell
  5. merge conflict
  6. refactor

✏️ Exercise 2: Translate to English

Translate these Vietnamese developer sentences into natural English:

  1. “Tôi cần tái cấu trúc module thanh toán trước khi thêm tính năng mới vào.”
  2. “Có xung đột merge trên branch main, bạn có thể rebase không?”
  3. “Đây là thay đổi phá vỡ tương thích — tất cả client đều phải được cập nhật trước khi deploy.”
  4. “Code này có mùi — class này đang làm quá nhiều việc.”
✅ Sample Answers
  1. “I need to refactor the payment module before adding new features.”
  2. “There’s a merge conflict on the main branch — can you rebase?”
  3. “This is a breaking change — all clients need to be updated before we deploy.”
  4. “This code smells — this class is doing too many things.” (or: “This is a code smell — the class has too many responsibilities.”)

💡 Idiom of the Day: “Yak Shaving”

Meaning: The practice of doing a long series of small tasks that are all prerequisites to the actual task you wanted to do — where each task reveals another sub-task needed first.

Vietnamese: Làm hàng loạt việc nhỏ không liên quan để dẫn đến việc thực sự cần làm / Rẽ ngã rẽ không hồi kết

Origin: Coined by Carlin Vieri at MIT Media Lab in the late 1990s. The image: you want to shave a yak, but first you need clippers, but to get clippers you need a ladder, but to get the ladder you need to borrow a key… and suddenly you’re doing things that seem completely unrelated to the original goal.

2 Real Examples in Tech:

  1. “I spent 3 hours yak shaving today — wanted to add a feature, but first had to update my local env, which broke the Docker setup, which required a newer version of Node, which caused my test runner to fail…”
  2. “Before you go down that yak shaving rabbit hole, ask yourself: what’s the actual ticket I need to close?”

When to use it:

  • When you’re explaining why a simple task took all day
  • When warning a teammate that a task is going to chain into many other tasks
  • In retrospectives: “Let’s talk about the yak shaving we did this sprint and how to prevent it”

For Technical English & Developer Communication

  1. Fireship (YouTube) — Short, fast-paced tech explainers in native English. Each 5-minute video covers a real concept (Git, Docker, APIs, databases) with clear, informal developer English. Perfect for absorbing the natural vocabulary of how devs explain things. → Search: “Fireship youtube”

  2. TechLead (YouTube) — A former Google/Facebook engineer who speaks very clear, measured English. Great for understanding how senior engineers discuss architecture, career decisions, and code quality without jargon overload. → Search: “TechLead youtube programming”

  3. ThePrimeagen (YouTube) — A fast, opinionated senior developer. More advanced vocabulary and casual slang — great for when you want to understand how developers actually talk in informal settings (Slack, Discord, team lunches). → Search: “ThePrimeagen youtube”


🎯 Monday Challenge: Say It In Code Review Today

The specific practice challenge:

Today, when you give or receive a code review — or when you write a comment in Jira, GitHub, or Slack — use at least 2 of today’s vocabulary words in English.

Examples:

  • “This looks like a code smell — might be worth refactoring before we ship it.”
  • “I think this PR introduces a breaking change — we need to update the docs.”
  • “I spent the morning yak shaving — trying to fix a bug, but kept finding prerequisite issues.”

If you don’t have a code review today, write 2 sentences in English in your notebook describing something you’re currently working on — using today’s words.

The goal: When you’re in a meeting or code review next week and someone says “we have a merge conflict” or “this is a breaking change,” you should understand immediately and be able to respond naturally in English. Today’s practice makes that automatic.


🗓️ Coming Up This Week

  • Tuesday (AI): Inference, token budget, grounding, hallucination — the words you need to talk about LLMs at work
  • Wednesday (Architecture): Bulkhead, blast radius, circuit breaker, idempotent — reliability pattern vocabulary
  • Thursday (Professional): “Circle back,” “action item,” “let’s take this offline” — meeting English for tech professionals
  • Friday (Career): Interview English — how to talk about your technical decisions and leadership experience in English
  • Saturday (Social): Weekend plans and casual tech-person small talk
  • Sunday (Review): Consolidate this week’s best words with spaced repetition

Start the week strong. Pick one word from today, use it once before noon, and it’s yours forever. See you tomorrow morning! 🚀

Export for reading

Comments