AI không làm lập trình viên tệ đi, nó chỉ làm lộ ra ai chưa từng thực sự học
Code chạy được và code hiểu được là hai chuyện khác nhau. Cái khó của dev thời AI nằm đúng ở khoảng cách đó.
Copy đoạn code AI gợi ý, chạy được, commit, xong việc. Sáu tháng sau bug xuất hiện, và không ai trong team — kể cả người đã commit đoạn đó — hiểu nổi nó đang làm gì. Cảnh này tôi đoán không ít dev đọc bài này từng gặp, kể cả chính tôi.
Cái khó thật sự của lập trình viên thời AI, theo tôi, không phải chuyện mất việc. Nó là mất đi một vòng lặp khổ sở nhưng cần thiết — cái vòng lặp bí, tự mò, tự tìm ra lỗi — vốn là thứ từng biến một junior thành senior.
Code chạy được và code hiểu được là hai chuyện khác nhau
Trước đây một junior bí ba tiếng đồng hồ với một lỗi null pointer, cuối cùng tự hiểu ra vì sao nó xảy ra. Cái hiểu đó ở lại vĩnh viễn, thành trực giác cho những lần sau. Bây giờ hỏi AI, có câu trả lời trong mười giây, dán vào, chạy được — nhưng cái hiểu không đọng lại, chỉ có kết quả đọng lại. Hai thứ đó nhìn giống nhau trên màn hình, nhưng khác nhau hoàn toàn trong đầu người viết ra nó.
Tôi bắt đầu nghe các senior dev phàn nàn về một dạng nợ kỹ thuật mới: không phải do lười biếng, mà do không ai thực sự hiểu sâu đoạn code ngay từ lúc viết ra nó. Nó chạy, test pass, nhưng khi cần sửa, không ai đủ tự tin để chạm vào.
AI không làm lập trình viên tệ đi. Nó chỉ làm lộ ra ai chưa từng thực sự học cách vật lộn với một lỗi.
Với người đã là senior, AI là đòn bẩy khủng khiếp — vì họ có đủ nền để kiểm tra AI đúng hay sai trước khi tin nó. Cái khó chỉ dành cho người chưa có nền đó. Lời khuyên cá nhân của tôi cho các bạn junior: thỉnh thoảng cứ tắt AI đi, tự bí, tự sai. Khoản đầu tư đó không trả lãi ngay, nhưng năm năm sau sẽ là thứ phân biệt bạn với người chỉ biết copy-paste giỏi.