AI Coding Tools Không Phải Vấn Đề. Thiếu Trách Nhiệm Mới Là Vấn Đề.

Bạn mở một Pull Request. Code được AI generate. Bạn chưa test. Bạn không hoàn toàn hiểu nó làm gì. Nhưng deadline đang đến, và “AI đã viết rồi, chắc đúng.”

Rồi khi reviewer hỏi: “Tại sao logic này hoạt động như vậy?”

Bạn trả lời: “Ừm… AI suggest thế.”

AI không phải vấn đề

Đây không phải là vấn đề của AI. Đây là vấn đề của accountability — và nó đang lan rộng như một đại dịch thầm lặng trong ngành.

Tại Sao Nhiều Người Đang Ghét AI Tools?

Trước khi đổ lỗi cho developers, hãy thừa nhận một sự thật: sentiment tiêu cực về AI tools không phải không có lý do.

Những tech leaders đang làm gì?

Họ tweet những thứ như: “Junior developers sẽ biến mất trong 2 năm nữa” hoặc “AI sẽ thay thế 80% engineers”. Những claims sensationalist này tạo ra anxiety không cần thiết, khiến engineers cảm thấy job của họ bị đe dọa.

Những tổ chức đang làm gì?

Họ adopt AI tools vì FOMO (Fear Of Missing Out), không phải vì chiến lược rõ ràng. Management ép teams sử dụng AI mà không có realistic expectations, dẫn đến frustration khi kết quả không như marketing promise.

Kết quả? Một môi trường toxic nơi:

Sai Lầm Nằm Ở Đâu?

Có hai cực đoan trong cách developers approach AI tools:

Cực đoan thứ nhất: “AI-Maximalist”

“Tôi có thể generate 60 PRs mỗi ngày!”

Những người này treat AI như một magic wand. Copy-paste output, submit PR, move on. Không review, không hiểu, không test. Khi code break ở production, họ shrug: “AI làm sai.”

Cực đoan thứ hai: “AI-Rejector”

“AI code là junk. Tôi viết tay mọi thứ.”

Những người này từ chối hoàn toàn, bỏ lỡ productivity gains thực sự mà AI có thể mang lại. Họ tự hào về việc làm chậm hơn, coi đó như dấu hiệu của “real engineering.”

Cả hai đều sai.

Vấn đề không phải là dùng AI hay không dùng AI. Vấn đề là: Ai chịu trách nhiệm cho code cuối cùng?

Câu Trả Lời: AI-Assisted Engineering

Không phải AI-replaced. Không phải AI-free. Mà là AI-assisted.

Điều này nghĩa là:

5 Nguyên Tắc Của AI-Assisted Engineering

1. Full Ownership & Accountability

Bạn submit code = Bạn own code.

Không có exception. Không có excuse “AI wrote it.” Khi bạn click “Create Pull Request,” bạn đang nói với team: “Tôi đã review, test, và hiểu code này. Tôi chịu trách nhiệm cho nó.”

Điều này có nghĩa:

Red flag: Nếu reviewer hỏi về code và bạn phải check lại AI conversation để trả lời, bạn đang làm sai.

2. AI Là Thought Partner, Không Phải Replacement

CRAFTED Framework

AI tools giống như một junior developer rất nhanh nhưng không có context về codebase của bạn, không hiểu business requirements, và không biết team conventions.

Treat AI như:

Không treat AI như:

Khi prompt AI, hãy dùng framework như C.R.A.F.T.E.D:

3. Understanding > Speed

Hiểu trước, code sau

Không có gì sai với việc dùng AI để code nhanh hơn. Sai là khi bạn sacrifice understanding cho speed.

“Copy-paste and pray” workflow:

AI generate → Paste → Submit → Hope it works

Đây không phải engineering. Đây là gambling với production code.

Proper workflow:

AI generate → Read carefully → Understand logic →
Test thoroughly → Refine if needed → Submit with confidence

Tại sao điều này quan trọng?

Khi code break (và nó sẽ break), bạn cần:

Nếu bạn không hiểu code từ đầu, mọi thứ trên đều impossible.

4. Human Oversight Remains Essential

Con người vẫn là yếu tố quyết định

AI không nên có final say trong bất kỳ critical decision nào.

Trong production systems:

Trong design decisions:

Rule of thumb: AI accelerates, humans decide.

5. AI Amplifies Existing Practices

AI khuếch đại thói quen hiện có

Đây là điều ít người nhận ra: AI không tạo ra good engineers hay bad engineers. AI khuếch đại cái đã có.

Khuếch đại tốt và xấu

Nếu bạn có strong fundamentals:

Nếu bạn có weak fundamentals:

AI giống như power tools trong construction: Trong tay skilled carpenter, nó tạo ra beautiful furniture nhanh hơn. Trong tay inexperienced person, nó gây injuries nhanh hơn.

Engineer Tốt Nhất Không Phải Người Generate Nhiều Code Nhất

Sự tự tin thực sự

“The best engineers are not the ones who generate the most code. They are the ones who can say with confidence: ‘I understand this. I verified it. I own it.’”

Ba câu này là litmus test cho mọi thứ bạn submit:

“I understand this.”

Bạn có thể explain code cho một junior developer không? Bạn có biết tại sao approach này được chọn over alternatives không? Bạn có aware edge cases không?

“I verified it.”

Bạn đã run tests chưa? Bạn đã test edge cases chưa? Bạn đã verify nó works trong real conditions chưa?

“I own it.”

Bạn có willing accept responsibility nếu có bug không? Bạn có comfortable defending decisions trong code review không? Bạn có ready fix issues khi chúng arise không?

Nếu answer cho bất kỳ câu nào là “no,” code chưa ready để submit.

Bắt Đầu Từ Đâu?

Ngày mai:

Tuần này:

Tháng này:

AI tools sẽ continue evolve và improve. Nhưng một điều sẽ không thay đổi: responsibility vẫn thuộc về người submit code.

Blame AI là easy. Take ownership là hard. Và đó chính xác là điều distinguish great engineers từ the rest.


Bài viết được lấy cảm hứng và tái cấu trúc từ Engineering Leadership Newsletter của Gregor Ojstersek.