Ghi chép để không vô thức cụ thể hóa quá sớm khi đang suy nghĩ những vấn đề trừu tượng (抽象的なことを考える時、無意識に具体化しないためのメモ)
概Điểm nhấn trọng tâm của bài viết (Overview)
Bài viết dạng suy ngẫm (ポエム) sâu sắc về tư duy thiết kế phần mềm, phân tích nghiệp vụ (Domain Modeling / DDD) và đặt câu hỏi 'Why'.

✍️ Tác giả gốc:
J-T_ky2g (JISOU | プログラミングコーチング)trên diễn đàn công nghệ Qiita Nhật Bản
🔗 Tiêu đề gốc có Furigana: 抽象的なことを考える時、無意識に具体化しないためのメモ
🌐 Liên kết bài gốc: 抽象的なことを考える時、無意識に具体化しないためのメモ
📌 Điểm nhấn cốt lõi (Key Takeaways)
- Bài viết dạng suy ngẫm (ポエム) sâu sắc về tư duy thiết kế phần mềm, phân tích nghiệp vụ (Domain Modeling / DDD) và đặt câu hỏi ‘Why’.
- Cảnh báo thói quen của kỹ sư: đang hỏi ‘Why’ nhưng lại vô thức nhảy sang nghĩ về cách cài đặt (How), bảng DB hay tính khả thi quá sớm.
- Phân tích giá trị của tri thức ngầm (暗黙知 - Tacit Knowledge) và lý do vì sao trong thời đại LLM viết được code, con người vẫn cần trực tiếp viết code để tích lũy trải nghiệm.
Mở đầu (はじめに)
Có những lúc tôi cứ ngỡ mình đang đặt câu hỏi “Tại sao (Why)”, nhưng chẳng biết từ lúc nào lại trượt sang suy nghĩ về những chi tiết cụ thể, nên tôi ghi chép lại những điều cần lưu ý.
🇯🇵 Tiếng Nhật có Furigana:
Whyを問うているつもりでいつの間にか、具体的なことを考えている時があるので気をつけることをメモする
Khi nắm trúng cốt lõi thì mọi thứ trở nên nhẹ nhàng (芯をくっていると楽)
- Khi phần có độ trừu tượng cao không bị lệch hướng thì làm việc rất nhàn.
(抽象度高いところがずれていないと楽) - Những thứ như mẹo tắt sự nghiệp (career hack), SEO mũ đen hay lách vùng xám không làm tăng giá trị bản chất, mà chỉ tính toán tỉ mỉ tiểu tiết cụ thể để thực thi nên không được phép sai sót dù chỉ một chút — vì thế rất mệt mỏi.
(キャリアハック、ブラックハットSEO、グレーゾーンを攻めるなどは本質的な価値をあげず、具体を緻密に計算して実行するから、少しのミスも許されないのでしんどい) - Vì vậy, không cần thiết phải suy nghĩ những thứ phức tạp một cách vô ích.
(なので無駄に複雑なことを考える必要はない) - Việc phải hiện thực hóa (code) trên một bản thiết kế sai lầm vất vả thế nào cũng giống hệt như vậy. Khi lý do “Why” đã rõ ràng, dù không tính trước từng chi tiết vụn vặt thì về sau vẫn hoàn toàn giải thích được.
(間違った設計で実装するのは大変なこともそう。whyが明確だと細かいこと考えなくても後から説明可能)
Điều nằm ở phía trước cả việc tối ưu hiệu suất (効率化よりも前のこと)
- “Tối ưu hóa hiệu suất” là một tín hiệu nguy hiểm. Có thể đó chỉ là bạn đang làm theo những gì được bảo mà thôi.
(効率化は危険信号。それは言われたことをやっているだけかも) - Trong bối cảnh kinh doanh sử dụng phần mềm, nếu không chỉ dừng ở việc tối ưu hóa hay hiện thực hóa tính năng, mà chú trọng vào việc nâng cao doanh thu của khách hàng thì tầm nhìn (thị tọa) sẽ được nâng lên tới tầng “Why”.
(ソフトウェアを使うビジネスという文脈においては、効率化や実現だけではなく、顧客の売上向上に着目するとwhyまで視座が上がる) - Khâu lập kế hoạch và xác định bài toán nằm ở rất xa phía trước việc tối ưu hóa hiệu suất. Một việc vốn chẳng quan trọng thì có tối ưu hóa nó cũng vẫn chẳng có ý nghĩa gì. Khi lập kế hoạch hay đề xuất, tốt nhất là hãy động não (brainstorm) bung ra trước rồi mới gọt giũa bớt sau.
(企画、問題が効率化よりもずっと前にある。どうでもいいことを効率化してもどうでもいい。企画、提案はブレストしてから削ると良さそう)
Đặt trọng tâm ở mức “Trân trọng con người” có lẽ là cân bằng nhất / Càng vội tìm đáp án càng dễ bó hẹp tư duy (人を大切にくらいがバランスが良いかも / 答えを求めると小さくまとまる)
- Ắt hẳn vẫn có những tầng trừu tượng cao hơn nữa, nhưng để sống giữa xã hội loài người hiện đại mang tính văn hóa và kinh tế tư bản chủ nghĩa, hãy nghĩ về con người. Hãy dành sự quan tâm cho con người, giữ một tâm thế hơi nhiệt huyết kiểu “Hãy cùng sống một cuộc đời thật tốt nhé”, và tin tưởng vào tiềm năng của con người.
(もっと抽象度高いものはあるだろうが、資本主義経済、文化的な現代の人間の中で生きるには、人を考える。人間に興味を持つ、ちょっと暑苦しく「いい人生送ろうぜ」的なスタンス。人の可能性を信じる) - Hãy tiếp tục đặt câu hỏi không ngừng. Nhặt ra những gợn băn khoăn nhỏ nhất hay từng lời nói thoáng qua. Mỗi người lại nắm giữ những thông tin khác nhau.
(問い続ける。ちょっとした違和感や言葉を拾い上げる。人によって持っている情報は違う) - Khi vội tìm kiếm đáp án thì suy nghĩ sẽ bị bó hẹp lại: Hãy giữ cảm giác hào hứng, thậm chí là tưởng tượng bay bổng cũng được. Chưa ra đáp án ngay không phải là điều xấu. Giống như vấn đáp Thiền (Thiền vấn đáp), hãy cứ hỏi “Tại sao” liên tục. Chính suy nghĩ cho rằng “chẳng có ý nghĩa gì” mới là thứ vô nghĩa.
(答えを求めると小さくまとまる:ワクワクする感じ。もはや妄想でもいい。答えが出ないのは悪いことではない。禅問答。なぜを問い続ける。意味がないなんて考えに意味はない)
Vứt bỏ tư duy của người lập trình thực thi / Nghĩ quá xa về bước sau sẽ làm bó hẹp hiện tại (実装者の考えを捨てる / 今のことより先を考えると小さくまとまる)
- Vứt bỏ tư duy của người code: Đừng đọc/nghe nghiệp vụ theo kiểu ánh xạ (mapping) giữa code và tài liệu đặc tả giao diện (I/F). Tuyệt đối không được nghĩ tới việc cài đặt, đặc biệt là việc lưu trữ dữ liệu bền vững (data persistence) xuống Database ở giai đoạn này.
(実装者の考えを捨てる:実装とI/F定義書のマッピングみたいな読み方はしない。実装、特にDBによるデータ永続化のことは考えてはいけない) - Đừng vừa đọc vừa trích lược hay ghi chép vụn vặt. Hãy chỉ專 tâm lắng nghe. Nếu thấy khó, hãy hình dung ra khung cảnh thực tế, đặc biệt là những điểm mà cảm xúc của người trong cuộc rung động mạnh mẽ. Hãy tự nhủ “chỉ có lúc này mới nghe được thôi” để kiên nhẫn lắng nghe trọn vẹn.
(抜粋やメモをしながら読まない。ただひたすら聞く。難しい場合は情景、特に強く感情が動くポイントを思い浮かべる。今しか聞けないんだと我慢してひたすら聞く) - Đừng nghĩ về tính khả thi (feasibility); đó là giai đoạn sau. Đừng biến nó thành công thức kiểu tính thực tế khi bàn giao (delivery) hay “lấy A và B làm thành C” — ngay khoảnh khắc làm vậy, nó đã biến thành “How (Làm thế nào)” mất rồi. Hiểu DDD (Domain-Driven Design) chỉ là làm cho code khớp với tài liệu thiết kế thì quá hẹp; hiểu DDD là “xử lý sự phức tạp” thì mới đạt độ trừu tượng cao.
(実現可能性を考えない。それは後のフェーズ。デリバリの現実性とか、AとBをCしてみたいな式にしない。した時点でhowになる。実装と設計書を一致させるのがDDDみたいな解釈。複雑性を扱うだと抽象度高い)
Chuyên gia (Người sành sỏi) và Người ngoại đạo (Tay mơ) (玄人と素人)
- Sự phán đoán chủ quan của người không chuyên là nguyên nhân gây ra lỗi (bao gồm cả ngoài hệ thống), nhưng câu hỏi ngây thơ của người không chuyên lại là chìa khóa giải quyết vấn đề. Chuyên gia (玄人 - Pro) là người sở hữu chất lượng và khối lượng “tri thức ngầm (暗黙知)” vượt trội hơn.
(素人判断はエラー(システム以外含)の原因、素人質問は解決の鍵。玄人(プロ)とは暗黙知の質と量をより持っている人) - Nhờ những kỹ sư là “người ngoại đạo” về miền nghiệp vụ (domain) nhưng lại giàu kinh nghiệm về mặt cụ thể hóa hệ thống, tri thức ngầm (暗黙知) của chuyên gia nghiệp vụ được ngôn ngữ hóa và chuyển thành tri thức hiện (形式知) một cách chuẩn xác. Giá trị của phần mềm nằm ở chỗ phổ thông hóa (commodity hóa) những phần có thể phổ thông hóa. Hãy dựa vào tri thức ngầm của chuyên gia và truyền tải nó tới người dùng.
(ドメインの素人であり、具体化については経験値の高いエンジニアにより、暗黙知が言語化されて適切に形式知になる。コモディティ化できるところはコモディティ化するというソフトウェアの価値。プロの暗黙知に頼る。それを届ける) - Con người lĩnh hội tri thức ngầm thông qua trải nghiệm thực hành của cơ thể. Khi chuyển sang ngôn ngữ thì một phần thông tin đã bị rơi rụng, nên đây là mảng có vẻ khó đối với LLM. Để tích lũy được tri thức ngầm, ngay cả trong thời đại LLM đã viết được code, việc tự tay viết code vẫn vô cùng quan trọng.
(暗黙知は身体的な経験から人間は獲得する。言語だと情報が落ちるのでLLMには難しそうな部分。暗黙知を得るためにLLMがコードを書ける時代もコードを書くのが大事)
📚 Bảng thuật ngữ IT & Hán Việt trong bài (重要IT用語集)
| Thuật ngữ (Kanji) | Furigana / Romaji | Âm Hán Việt | Ý nghĩa tiếng Việt | Cấp độ |
|---|---|---|---|---|
| 抽象的 | ちゅうしょうてき |
TRỪU TƯỢNG ĐÍCH | Mang tính trừu tượng, khái quát | N2 |
| 無意識 | むいしき |
VÔ Ý THỨC | Vô thức, không chủ ý | N2 |
| 芯をくう | しんをくう |
TÂM | Đánh trúng cốt lõi, nắm trúng bản chất | N1 |
| 抽象度 | ちゅうしょうど |
TRỪU TƯỢNG ĐỘ | Mức độ trừu tượng (Level of abstraction) | Technical |
| 本質的 | ほんしつてき |
BẢN CHẤT ĐÍCH | Mang tính bản chất, cốt lõi | N2 |
| 緻密 | ちみつ |
TRÍ MẬT | Tỉ mỉ, chi tiết, chặt chẽ | N1 |
| 設計 | せっけい |
THIẾT KẾ | Thiết kế (hệ thống/kiến trúc) | N3 |
| 実装 | じっそう |
THỰC TRANG | Hiện thực hóa, cài đặt, viết code (Implementation) | Technical |
| 危険信号 | きけんしんごう |
NGUY HIỂM TÍN HIỆU | Tín hiệu nguy hiểm, dấu hiệu cảnh báo | N2 |
| 文脈 | ぶんみゃく |
VĂN MẠCH | Ngữ cảnh, bối cảnh (Context) | N2 |
| 着目 | ちゃくもく |
TRƯỚC MỤC | Chú trọng, đặt sự chú ý vào | N2 |
| 視座 | しざ |
THỊ TỌA | Tầm nhìn, vị thế góc nhìn (Vantage point / Perspective) | N1 |
| 削る | けずる |
TƯỚC | Gọt bớt, cắt giảm, lược bỏ | N3 |
| 暑苦しい | あつくるしい |
THỬ KHỔ | Nồng nhiệt quá mức (nghĩa bóng); oi bức ngột ngạt (nghĩa đen) | N2 |
| 違和感 | いわかん |
VI HÒA CẢM | Cảm giác lệch lạc, gợn băn khoăn, thấy có gì đó sai sai | N2 |
| 拾い上げる | ひろいあげる |
THẬP THƯỢNG | Nhặt ra, gom lấy, lắng nghe và nắm bắt | N2 |
| 妄想 | もうそう |
VỌNG TƯỞNG | Tưởng tượng bay bổng, vọng tưởng | N1 |
| 禅問答 | ぜんもんどう |
THIỀN VẤN ĐÁP | Vấn đáp Thiền (hỏi đáp triết lý sâu xa chưa có câu trả lời ngay) | N1 |
| 永続化 | えいぞくか |
VĨNH TỤC HÓA | Lưu trữ bền vững (Data Persistence) | Technical |
| 抜粋 | ばっすい |
BẠT TÚY | Trích lược, trích đoạn | N1 |
| ひたすら | ひたすら |
CHỈ QUẢN | Một lòng một dạ, chỉ chuyên tâm vào một việc | N2 |
| 実現可能性 | じつげんかのうせい |
THỰC HIỆN KHẢ NĂNG TÍNH | Tính khả thi (Feasibility) | N1 |
| 玄人 | くろうと |
HUYỀN NHÂN | Chuyên gia, người sành sỏi trong nghề | N1 |
| 暗黙知 | あんもくち |
ÁM MẶC TRI | Tri thức ngầm, tri thức ẩn (Tacit knowledge) | N1 |
| 形式知 | けいしきち |
HÌNH THỨC TRI | Tri thức hiện (Explicit knowledge) | N1 |
| 獲得 | かくとく |
HOẠCH ĐẮC | Đạt được, thu nhận, lĩnh hội | N2 |
📐 Ngữ pháp tiếng Nhật IT bổ trợ (文法解説)
- 〜つもりで (
N3): Cứ đinh ninh là…, có ý định là…- Cấu trúc:
V-る / V-ている + つもりで - Sắc thái sử dụng: Diễn tả sự lệch pha giữa ý định chủ quan (nghĩ là đang hỏi Why) và hành động thực tế (đang nghĩ về cái cụ thể).
- Cấu trúc:
- いつの間にか (
N3): Chẳng biết từ lúc nào…- Cấu trúc:
いつの間にか + Mệnh đề - Sắc thái sử dụng: Diễn tả sự chuyển biến diễn ra trong vô thức.
- Cấu trúc:
- 〜ず(に) (
N3): Không làm A mà…- Cấu trúc:
V-ない (bỏ ない) + ず - Sắc thái sử dụng: 本質的な価値をあげず = Không làm tăng giá trị bản chất.
- Cấu trúc:
- 〜において(は) (
N2): Trong (bối cảnh / lĩnh vực / phạm vi)…- Cấu trúc:
Danh từ + において(は) - Sắc thái sử dụng: ビジネスという文脈においては = Xét trong bối cảnh kinh doanh.
- Cấu trúc:
- もはや〜でも (
N2): Thậm chí đến mức…, giờ đây…- Cấu trúc:
もはや + Danh từ / Mệnh đề - Sắc thái sử dụng: もはや妄想でもいい = Thậm chí cứ tưởng tượng bay bổng luôn cũng được.
- Cấu trúc:
- 〜てはいけない (
N4): Không được phép…- Cấu trúc:
V-て + はいけない - Sắc thái sử dụng: データ永続化のことは考えてはいけない = Không được nghĩ tới việc lưu DB ở bước này.
- Cấu trúc:
- 〜た時点で (
N2): Ngay tại thời điểm…- Cấu trúc:
V-た + 時点で - Sắc thái sử dụng: した時点でhowになる = Ngay khoảnh khắc làm vậy thì nó đã biến thành How.
- Cấu trúc: