Vì sao các Senior Developer cảnh báo về việc dùng AI để viết code?

0 0 0

Người đăng: Duy Thìn Nhữ

Theo Viblo Asia

Vì sao các Senior Developer cảnh báo về việc dùng AI để viết code?

Trong khi những ông lớn công nghệ đang ráo riết phát triển các nền tảng AI để hỗ trợ lập trình, thì một bộ phận không nhỏ các senior developer – những người từng “lăn lộn” qua hàng ngàn dòng code, hàng trăm dự án – lại lên tiếng cảnh báo. Tại sao lại có sự trái chiều như vậy?

1. Với junior, đích đến không phải là code chạy được, mà là hiểu được đường đi

Một trong những mục tiêu cốt lõi của người mới học lập trình không phải là hoàn thành chức năng, mà là học cách suy nghĩ để giải quyết vấn đề. Không ai quan tâm bạn viết đúng CRUD thế nào – chuyện đó ai cũng biết – mà là bạn tư duy, lựa chọn giải pháp và tự mình vượt qua khó khăn như thế nào.

Code do AI sinh ra là một hộp đen – nó có thể chạy, có thể không; có thể đúng, có thể không. Nếu một người chưa đủ trình độ để nhận ra đâu là code hợp lý, đâu là thứ "bịa đặt" hoặc "ảo tưởng", thì đó là vấn đề nghiêm trọng. Muốn phân biệt được tốt – xấu, đúng – sai, bạn phải từng viết sai, từng debug đến đau đầu, từng ăn hành mới hiểu được.

2. Bài học xương máu: Đừng chia sẻ bí mật công ty với AI

Bạn còn nhớ vụ một dev vô tình post ngôn ngữ nội bộ của Facebook lên StackOverflow, tưởng là PHP? Giờ tưởng tượng bạn copy cả đoạn code quan trọng lên một công cụ AI mà phía sau là một tập đoàn nào đó – bạn nghĩ dữ liệu ấy sẽ nằm yên mãi mãi? Đừng quên bài học cũ về EEE – Embrace, Extend, Extinguish.

3. Senior không ngồi viết từng dòng code – họ nhìn hệ thống

Senior developer không sống vì từng dòng code lặp đi lặp lại. Chúng tôi làm việc với kiến trúc, abstraction, flow tổng thể, cảm nhận được mùi hôi của dự án từ cách nó tổ chức code, team và quy trình. Chúng tôi biết giá trị của sự thanh lịch, nhất quán, và đạo đức nghề nghiệp. Có sự khác biệt rõ ràng giữa việc dùng thư viện, và sao chép vô dấu từ StackOverflow rồi đóng mác là “code tôi viết”.

Chúng tôi cũng mệt – cổ tay đau, lưng rệu rã, mắt không còn tinh – nên tất nhiên hoan nghênh công cụ hỗ trợ. Nhưng chỉ như một phương tiện, không phải người thay thế.

4. Kiến thức không phải để khoe – mà để hiểu “tại sao”

Tôi từng viết assembly cho vui, từng hex-edit file thực thi như một trò tiêu khiển. Giờ không cần nữa, nhưng tôi vẫn hiểu cách số thực hoạt động, hiểu atomicity, hiểu vì sao cần loại bỏ race condition. Không phải để "ngầu", mà để biết lý do mọi thứ tồn tại như vậy.

Bạn không cần nhớ cách gọi int 13h để dừng ổ cứng, nhưng bạn nên biết lý do vì sao kiểu float có những lỗi sai quen thuộc, và tại sao ta cần BigDecimal ở những ngữ cảnh cụ thể. Thiếu cái hiểu đó, lập trình sẽ trở thành trò ghép hình mù quáng.

5. Mentor là con người – không thể thay bằng chatbot

Tôi không bao giờ quên cảm giác nghe giải thích về bài toán halting khi đang đi dạo trên một ngọn đồi. Tôi nhớ từng chiếc bàn ăn, từng miếng pizza khi lần đầu nghe về bài toán các vị tướng Byzantine. Đó là kiến thức, nhưng cũng là ký ức, là con người. AI không thể cho bạn trải nghiệm đó.

Mentor giỏi không chỉ dạy kiến thức, mà còn truyền cảm hứng, sự tử tế, trách nhiệm. Thứ mà một chatbot, dù “khôn” đến đâu, cũng không thể truyền đạt được.

6. Senior là người giải quyết vấn đề – không phải người sao chép mã

Senior không viết lại từng dòng memcpy, strlen, nhưng họ hiểu rõ những dòng đó làm gì. Nếu AI giúp ta giảm thao tác lặp lại, tốt. Nhưng nếu nó là nơi ta bắt đầu và kết thúc, thì vấn đề đã quá nghiêm trọng rồi.

AI có thể giúp bạn lắp ráp đoạn code, nhưng nó không thay bạn suy nghĩ giải pháp. Giống như việc có máy tính không đồng nghĩa bạn không cần hiểu toán.

7. Lập trình là sự kết hợp của phần cứng, toán học và cả tâm lý con người

Con đường vào lập trình có thể bắt đầu từ toán học, phần cứng, hay tâm lý học. Nhưng đích đến luôn là hiểu bản chất. Biết rằng trong mọi chương trình đều có “Godel”, có nghịch lý, có mâu thuẫn và giới hạn.

Viết code không chỉ là dịch đặc tả sang cú pháp. Đó là việc chắt lọc ý tưởng từ con người – những sinh vật mâu thuẫn, ngẫu nhiên, mơ hồ – thành một thứ chính xác đến từng byte. Đó là công việc cực kỳ khó. Và cũng vì thế, không thể giao trọn cho một cỗ máy.

Kết bút

AI có thể giúp viết code, nhưng không nên thay thế việc học viết code. Nó là công cụ, không phải là người thầy. Nó có thể gợi ý, không thể thay thế sự thấu hiểu. Nếu bạn là một junior đang sử dụng AI để học code, hãy nhớ: bạn đang học cách dùng cần câu, chứ không phải xin cá mỗi ngày.

Senior developer không phản đối công cụ. Chúng tôi chỉ phản đối sự lười biếng tri thức, sự ngộ nhận về năng lực thật, và sự mất đi tính nhân văn trong nghề lập trình.

Đó không chỉ là chuyện kỹ thuật - Đó là chuyện con người.

"Hiểu được lý do tại sao, bạn sẽ luôn biết cách làm thế nào. AI có thể viết code, nhưng đừng để nó viết cuộc đời bạn" ___ Thinnd Viet Nam __

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)

Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai th

0 0 176

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 162

- vừa được xem lúc

[ChatterBot] Thư viện chatbot hay ho dành cho Python| phần 3

Trong bài trước mình đã trình bày về Training data cho chatbot và tiền xử lý dữ liệu. Trong phần này sẽ trình bày với các bạn về logic adapter.

0 0 67

- vừa được xem lúc

[Deep Learning] Kỹ thuật Dropout (Bỏ học) trong Deep Learning

. Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.1. Dropout trong mạng Neural là gì.

0 0 73

- vừa được xem lúc

Kỹ thuật Dropout (Bỏ học) trong Deep Learning

Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.

0 1 86

- vừa được xem lúc

Blockchain dưới con mắt làng Vũ Đại 4.0

Mở bài. Hey nhô các bạn, lại là mình đây .

0 0 53