Happy Monday! This week we’re kicking off with a topic every backend engineer runs into eventually: designing APIs that behave predictably even when requests get retried, duplicated, or sent twice by accident. Today’s word — idempotent — is one of those terms that sounds intimidating but describes a very simple, very useful idea.

📖 Word of the Day: Idempotent

  • Word: idempotent
  • IPA: /ˌaɪ.dəmˈpoʊ.tənt/
  • Vietnamese meaning: bất biến khi lặp lại — một thao tác cho cùng kết quả dù được gọi một lần hay nhiều lần
  • Example sentences:
    1. “We made the payment endpoint idempotent so a network retry can’t charge the customer twice.”
    2. “A GET request should always be idempotent — calling it repeatedly shouldn’t change any data.”
    3. “Is this DELETE endpoint idempotent? Calling it twice on the same ID shouldn’t throw an error.”

Listen and practice pronunciation:

Vocabulary Table — API Design

PhraseVietnameseExample
Idempotency keykhóa bất biến, mã định danh để nhận diện request trùng lặp”Send an idempotency key in the header so retries don’t create duplicate orders.”
Rate limitinggiới hạn tốc độ gọi API”We added rate limiting to stop one client from overwhelming the service.”
Payloaddữ liệu gửi kèm trong request/response”Check the response payload — the id field should be a UUID, not an integer.”
Versioningđánh phiên bản API”We’re rolling out /v2 endpoints so existing clients on /v1 don’t break.”
Backward-compatibletương thích ngược”Adding an optional field is backward-compatible; removing one is not.”

🗣 Pronunciation Guide

“Idempotent” breakdown — /ˌaɪ.dəmˈpoʊ.tənt/:

  • Four syllables: i-dem-PO-tent
  • Primary stress is on the third syllable: i-dem-PO-tent, not on the first
  • “I” at the start sounds like “eye,” not a short “ih”
  • The ending “-tent” is unstressed and quick, like the “tent” in “content”

Practice sentence (read aloud 3x):

“We designed the API to be idempotent, so retrying the same request with the same idempotency key never creates a duplicate payload.”

Say it slowly the first time, focus on stressing “PO” the second time, then read it at natural conversational speed the third time.

✍️ Exercise 1: Fill in the Blank

Fill each blank with one term: idempotent, idempotency key, rate limiting, payload, backward-compatible.

  1. “To prevent double charges, the client must send an _______ with every payment request.”
  2. “Our new field is optional, so the change is _______ — old clients keep working fine.”
  3. “The server rejected the request because the _______ was missing the required email field.”
  4. “A well-designed PUT endpoint should be _______: calling it five times has the same effect as calling it once.”
  5. “After the traffic spike last week, we added _______ to protect the checkout service.”
Show answers
  1. idempotency key
  2. backward-compatible
  3. payload
  4. idempotent
  5. rate limiting

✍️ Exercise 2: Translate to English

Translate these Vietnamese sentences using today’s vocabulary.

  1. “API này có bất biến khi lặp lại không, hay việc gọi lại sẽ tạo ra một bản ghi trùng lặp?”
  2. “Chúng ta nên gửi kèm một khóa bất biến trong header để tránh xử lý trùng đơn hàng.”
  3. “Thay đổi này tương thích ngược, nên các client cũ vẫn hoạt động bình thường.”
Show answers
  1. “Is this API idempotent, or will calling it again create a duplicate record?”
  2. “We should send an idempotency key in the header to avoid processing duplicate orders.”
  3. “This change is backward-compatible, so old clients still work fine.”

💬 Idiom of the Day: “Belt and suspenders”

  • Vietnamese meaning: có hai lớp phòng ngừa cho cùng một rủi ro (thận trọng, dự phòng kép)
  • Example 1: “Adding both an idempotency key and a database unique constraint is a bit belt and suspenders, but it’s worth it for payments.”
  • Example 2: “Retrying the request with exponential backoff and checking the response status is belt and suspenders design — safe, if a little redundant.”

🎯 Daily Challenge

Next time you write or review an API endpoint today, ask out loud: “Is this idempotent?” Say the full sentence — “Is this endpoint idempotent if the client retries it?” — even if you’re alone. Saying technical questions out loud in English builds the muscle for saying them in a real meeting.

Export for reading

Comments