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:
- “We made the payment endpoint idempotent so a network retry can’t charge the customer twice.”
- “A GET request should always be idempotent — calling it repeatedly shouldn’t change any data.”
- “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
| Phrase | Vietnamese | Example |
|---|---|---|
| Idempotency key | khó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 limiting | giới hạn tốc độ gọi API | ”We added rate limiting to stop one client from overwhelming the service.” |
| Payload | dữ 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-compatible | tươ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.
- “To prevent double charges, the client must send an _______ with every payment request.”
- “Our new field is optional, so the change is _______ — old clients keep working fine.”
- “The server rejected the request because the _______ was missing the required
emailfield.” - “A well-designed
PUTendpoint should be _______: calling it five times has the same effect as calling it once.” - “After the traffic spike last week, we added _______ to protect the checkout service.”
Show answers
- idempotency key
- backward-compatible
- payload
- idempotent
- rate limiting
✍️ Exercise 2: Translate to English
Translate these Vietnamese sentences using today’s vocabulary.
- “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?”
- “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.”
- “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
- “Is this API idempotent, or will calling it again create a duplicate record?”
- “We should send an idempotency key in the header to avoid processing duplicate orders.”
- “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.”
📺 Recommended Watching
- ByteByteGo — API Design Best Practices — short, visual explainers on idempotency, versioning, and REST design patterns
- Hussein Nasser — Backend Engineering — deep dives on API reliability, retries, and network-level behavior
- YouGlish — hear “idempotent” pronounced in real technical talks
🎯 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.