Phần khó của software chưa bao giờ là viết code
Phần khó nhất của việc viết software chưa bao giờ là khâu viết. Nó là xây dựng một mental model về domain trong đầu trước. Trước khi ship được hệ thống payroll, bạn phải hiểu garnishments, pre-tax deductions, và chuyện gì xảy ra khi kỳ lương của ai đó nằm vắt qua thời điểm thay đổi rate. Trước khi ship được transit app, bạn phải học GTFS feed là gì, tại sao trip và route không phải một, và tại sao một chiếc bus “đúng giờ” vẫn có thể sai. Code chỉ là transcription của understanding đó. Có được understanding mới là công việc thực sự.
Agentic AI đã cắt đứt mối liên kết giữa hai thứ này. Bạn giờ có thể tạo ra software mà không cần xây mental model, và điều đó phá vỡ một giả định mà cả ngành đã tổ chức xung quanh.
Lập luận “AI khuếch đại senior dev” chưa đủ
Quan điểm phổ biến — bao gồm cả bài viết của chính tác giả năm ngoái — là các tool này khuếch đại senior developer vì senior có judgment. Đúng nhưng chưa đủ. Cái tác giả quan sát thấy cụ thể hơn và thú vị hơn: ràng buộc binding đã chuyển từ có build được không sang có biết được nó đúng hay không.
Hai chân dung: domain expert vs strong generalist
Hãy nghĩ về ai thực sự có thể dùng tốt các tool này. Tưởng tượng hai người.
Người thứ nhất là domain expert không có background software thực sự. Một logistics dispatcher, một clinical coder, một actuary. Họ không đọc được stack trace và không thể nói ra khác biệt giữa hash map và list. Nhưng họ có thể nhìn vào schedule mà agent generate ra và biết ngay rằng không driver nào hợp pháp làm shift đó, hoặc một claim với code đó sẽ không bao giờ được trả. Họ biết output đúng cho input nào vì họ đã sống mười năm trong những input và output đó. Đưa cho họ một agent và họ trở nên hiệu quả đáng kinh ngạc, vì thứ họ thiếu — khả năng tạo code — chính là thứ agent supply. Cái họ mang lại là thứ agent không thể: ground truth.
Người thứ hai là một strong generalist engineer chưa từng làm trong domain. Họ architect được mọi thứ, biết reliability và testing và cách giữ system không sập lúc 2 giờ sáng. Nhưng quăng họ vào clinical coding và họ không phân biệt được câu trả lời sai mà nhìn có vẻ đúng với câu trả lời thực sự đúng. Agent sẽ vui vẻ generate một billing rule compile được, pass được các test mà engineer nghĩ tới, nhưng sai một cách tinh vi và tốn kém. Engineer không có oracle. Họ verify được rằng software được build tốt. Họ không verify được nó đúng, vì correctness ở đây được định nghĩa hoàn toàn bởi một domain họ không hold trong đầu.
Hướng dịch chuyển của lợi thế
Để ý hướng nào cắt. Trước thời agent, engineer có một path mà dispatcher không có: họ có thể đi học domain. Chậm rãi, đau đớn, bằng cách shadow expert, đọc spec, làm sai trong production, từ đó dần xây mental model rồi mới build được system. Path đó chính là cả career ladder ở nhiều lĩnh vực. Domain expert không có path tương đương, vì học build reliable software là vài năm làm việc họ chưa bao giờ định làm.
Agentic tools collapse được một path nhưng không collapse được path còn lại. Lợi thế của engineer — khả năng dịch domain model thành working code — giờ rẻ. Lợi thế của domain expert — biết “đúng” trông như thế nào — thì không. Bạn không thể prompt tới chỗ đó. Không có skill file nào chứa được tacit knowledge của người đã reconcile cả nghìn payroll.
Người có giá trị nhất là người có cả hai
Vì thế người có giá trị nhất trong thế giới mới này là người có cả hai skill vì họ verify được ở cả hai lớp. Họ biết generated code sound và họ biết kết quả nó produce là true. Họ viết được test encode “driver không được làm quá 11 tiếng” vì họ biết rule, và họ phân biệt được test ấy có meaningful hay không vì họ biết mình đang test cái gì. Agent làm transcription. Họ làm judging, hai lần.
Đặt cược
Nếu bạn là engineer có kinh nghiệm đang quyết định đặt cược nơi đâu cho vài năm tới, đây là cược. Skill mechanical bạn đổ mồ hôi rèn — turning a clear idea into clean code — đã trở nên kém giá trị đi đáng kể. Cái vẫn còn khan hiếm là một mental model sâu, đã được verify, về một domain thực. Đi kiếm một cái. Pick một industry, một instrument, một regulatory regime, một physical process, và học nó theo cách bạn từng học một ngôn ngữ lập trình hay framework. Đó là phần agent không làm thay được, và đó là phần giờ có giá trị nhất.
Dev nên quan tâm vì
Nếu CV của bạn chỉ liệt kê stack/framework mà không có domain depth, bạn đang ở phía mất giá. Chọn một mảng — fintech regulation, healthcare coding, supply chain, ad tech, taxation — và build expertise có thể audit được output của AI.