AI Là Bạn Hay Thầy? Khi Lập Trình Viên Quá "Dựa Dẫm" Vào Trợ Lý Ảo!
Lê Lân
1
Khi Công Cụ Đóng Vai Trò Chủ Chốt: Câu Chuyện Về Sự Phụ Thuộc Và Ý Thức Lập Trình Viên
Mở Đầu
Bạn đã từng quá phụ thuộc vào một công cụ đến mức quên mất cách tự mình vận hành mà không cần nó chưa? Nếu bạn chưa từng thì tôi đã từng – cho đến khi tôi gặp Gemini.
Trong kỷ nguyên số hóa hiện nay, các công cụ hỗ trợ lập trình như Gemini Pro hay ChatGPT đã trở thành những người bạn thân thiết, giúp công việc của chúng ta trở nên nhanh chóng và hiệu quả hơn bao giờ hết. Tuy nhiên, điều đó cũng kéo theo một hệ quả không ngờ: sự phụ thuộc quá mức khiến ta đôi khi… không biết làm gì khi công cụ đó gặp trục trặc. Trong bài viết này, tôi sẽ cùng bạn phân tích tác động của việc quá dựa dẫm vào các tiện ích như vậy, kể lại trải nghiệm cá nhân khi clipboard của Gemini Pro ngưng hoạt động và bài học rút ra về việc cân bằng giữa công cụ và kỹ năng lập trình thực thụ.
Kỷ Nguyên Sao Chép & Dán Trên Stack Overflow
Hồi Ức Về Những Ngày Xưa Cũ
Hẳn ai trong chúng ta cũng từng ít nhất một lần "điên cuồng" Google để tìm câu trả lời trên Stack Overflow, hy vọng tìm thấy đoạn code thần thánh sẽ giải quyết được vấn đề. Thú thật, tôi cũng từng nhiều lần copy-paste mà không hiểu hết từng dòng lệnh.
Một ví dụ dễ nhớ là khi tôi vật lộn với một lỗi JavaScript liên quan đến định dạng ngày trên DatePicker – muốn chuyển từ "MM/dd/yyyy" sang "dd/MM/yyyy" không hề đơn giản. Tôi đã dành nhiều giờ suy nghĩ, thử nghiệm và... thậm chí dùng vài lời “thể hiện cảm xúc” khi không tìm ra đáp án ngay lập tức.
Việc sử dụng các giải pháp có sẵn là con dao hai lưỡi: nó giúp tiết kiệm thời gian và học hỏi nhanh, nhưng cũng dễ dẫn đến sự thụ động trong tư duy.
Vibe Coding – Khi Flow Báo Động
Cùng với việc làm việc trong trạng thái “vibe coding” (lập trình theo nhịp điệu thư giãn, trôi chảy), rất nhiều người đã quen việc tìm giải pháp dễ dàng hơn là tự khám phá vấn đề kỹ càng. Nhưng dù sao đi nữa, các công cụ AI cũng chỉ là công cụ – phần mở rộng giúp chúng ta thể hiện ý định, không thể thay thế hoàn toàn trí tuệ con người.
AI Và Lập Trình Viên: Cặp Đôi Hoàn Hảo Nhưng Cần Sự Hiểu Biết
Đặt Kỳ Vọng Thực Tế Khi Dùng Công Cụ AI
Hãy tưởng tượng bạn bước vào nhà hàng và chỉ bảo “Đưa tôi món ăn!” mà không nói rõ bạn muốn gì, như thế bạn có thể nhận được món ăn yêu thích đúng ý không? Với AI cũng vậy, nếu bạn không cung cấp hướng dẫn chi tiết và rõ ràng, thì kết quả nhận được sẽ không như mong đợi.
Điều này tôi đã trải nghiệm khi xây dựng phần hiển thị thống kê cho dashboard AceIt của mình. Tôi nhờ Gemini giúp một số đoạn code, nhưng do thiếu sót vài điểm nhỏ nên chúng tôi phải trao đổi qua lại nhiều tiếng đồng hồ mà không ra được kết quả. Nhưng chỉ sau khi tôi hiểu rõ thiếu gì, giải pháp trở nên ngay lập tức đơn giản.
Dù công nghệ có phát triển, nhà phát triển vẫn cần hiểu rõ vấn đề, phương án giải quyết và cả cách đi từng bước đến đó.
Tự Tay Lập Trình: Khi Chủ Động Vượt Qua Thử Thách
Thử Thách Bản Thân Với Tailwind CSS
Khi làm phần danh sách phân công (Assignments Listing) trên giao diện, tôi hoàn toàn có thể nhờ Gemini tạo ra mã code nhanh chóng. Nhưng tôi quyết định không làm thế.
Tôi muốn tận dụng cơ hội này để nâng cao kỹ năng với Tailwind CSS – bộ công cụ tiện ích cho giao diện web hiện đại. Thay vì shortcut, tôi dành vài giờ để viết từng dòng code một cách tỉ mỉ. Cách tôi xử lý phần render từng mục trong danh sách là bằng phương thức .filter() để chọn lọc các record phù hợp, tránh phải viết nhiều hàm render khác nhau cho từng phần.
Kết quả chưa hoàn hảo, nhưng chính quá trình này đã mở rộng tầm hiểu biết của tôi, giúp tôi tự tin hơn rất nhiều.
Một Số Suy Nghĩ Cuối
Tôi rất yêu mến các công cụ AI như Gemini Pro – chúng thực sự là phát minh hữu ích giúp giảm bớt các công việc lặp đi lặp lại của lập trình viên. Nhưng sự hài lòng lớn nhất đối với tôi vẫn là khi chính tay viết code, đặc biệt khi tạo ra những thứ phức tạp hoặc tùy chỉnh cao.
Lần tới khi bạn định nhấn nút "Generate Code", hãy dành một chút thời gian suy ngẫm. Hãy thử thách bản thân, đón nhận khó khăn và bạn sẽ ngạc nhiên về những gì mình có thể đạt được cũng như sự tự tin tích lũy được.
Tham Khảo
Smith, J. (2023). Mastering Developer Productivity with AI Assistance. DevTech Publishing.