Tôi là một kỹ sư phần mềm. Đã hơn sáu năm nay, tôi sống trong thế giới của code – từ những dòng Python đầu tiên, đến những hệ thống backend phức tạp phục vụ hàng triệu người. Tôi từng cười khẩy khi nghe ai đó nói “AI sẽ thay thế lập trình viên.” Nhưng rồi tôi cũng phải tự học để hiểu tại sao họ nói vậy – và tôi nhận ra mọi thứ không hề đen trắng.
Ảnh bởi
Mohammad Rahmani
trên
Unsplash
Vài năm trước, coding truyền thống là “vua”. Chúng tôi tự viết từng hàm, thiết kế từng module, review code nhau tới mức cãi nhau đỏ mặt. Chúng tôi tự hào vì hiểu sâu hệ thống. Tôi vẫn nhớ hồi làm dự án fintech: mỗi endpoint đều được viết cực kỳ cẩn thận, test case hàng trăm cái, deploy cũng runbook 5 trang.
Đó là cách đảm bảo chất lượng. Nó chậm, nó mệt, nhưng nó đáng giá – vì tiền bạc, dữ liệu người dùng, uy tín công ty đều treo trên đó. Tôi tin coding truyền thống là xương sống của mọi sản phẩm nghiêm túc. Không có nó thì phần mềm chỉ là lâu đài cát.
Rồi “vibe coding” xuất hiện. Ban đầu tôi xem thường nó lắm. Cứ thấy mấy clip “build app in 2 hours” là tôi lắc đầu. Tôi biết làm app đâu chỉ là code vài hàm rồi xong – còn data, security, kiến trúc, refactor, bảo trì nữa. Tôi từng dọn rác cho mấy team xài AI code bừa, để rồi bill khách hàng gấp 5 lần chỉ để sửa bug và test lại.
Nhưng tôi cũng phải công nhận: AI không vô dụng. Tôi nhớ hồi khách hàng yêu cầu làm một demo chatbot trong 3 ngày. Tôi nghĩ: “Viết tay thì không kịp.” Tôi mở GPT ra, prompt nhanh, nó generate code cho backend Flask, generate luôn UI React cơ bản. Tôi review, chỉnh lại, test. Trong một buổi tối tôi đã có prototype để demo.
Khách ký hợp đồng. Tôi có job. Công ty tôi có tiền.
Tôi bắt đầu thay đổi góc nhìn. Tôi hiểu vibe coding không phải là “thay thế dev.” Nó là công cụ. Là cách biến ý tưởng thành sản phẩm sơ khai cực nhanh.
Founder non-tech có thể prompt và làm prototype để gọi vốn.
Designer có thể dựng UI nhanh mà không nhờ dev.
Dev junior có thể nhờ AI sinh hàm test, scaffold code.
Tôi vẫn giữ niềm tin: Muốn làm phần mềm tử tế thì phải biết code thật. Nhưng tôi không còn nghĩ vibe coding là kẻ thù. Tôi thấy nó là đồng minh.
Nhưng tôi cũng thấy cả hai bên có mảng tối. Nhiều người chỉ biết prompt mà không hiểu code. Gặp bug thì đứng hình, không biết fix. Họ gọi mình là “prompt engineer” nhưng thật ra chỉ là copy-paste engineer.
Còn coder truyền thống? Nhiều người bảo thủ. Họ từ chối AI vì sợ nó “giết nghề.” Nhưng họ quên mất khách hàng không trả tiền cho code đẹp – họ trả tiền cho giải pháp. Tôi từng thấy dev senior dành 2 tuần “refactor” thứ khách hàng không thèm nhìn.
Cả hai bên đều cực đoan. Và cả hai đều sẽ bị đào thải nếu không thay đổi.
Góc nhìn của tôi bây giờ rất đơn giản:
AI không giết dev. Dev lười học AI sẽ tự giết mình.
AI viết code nhanh. Dev viết code đúng.
AI không hiểu business. Dev hiểu.
AI không review code. Dev review.
Trong team của tôi, vibe coding và coding truyền thống làm việc cùng nhau.
Khi bắt đầu ý tưởng, chúng tôi dùng AI sinh code mẫu.
Khi triển khai thật, chúng tôi design kiến trúc, viết test, optimize.
Junior xài AI để học, senior review và chỉ ra bug.
AI viết script, seed data, test case – dev tập trung business logic.
Tôi nghĩ nghề này không chết. Nhưng nó thay đổi. Sẽ không còn chia rạch ròi “AI coder” và “truyền thống.” Sẽ chỉ còn “engineer” – người biết dùng mọi công cụ để giải quyết vấn đề.
Tôi không tự hào vì biết prompt. Tôi không tự mãn vì biết code tay. Tôi chỉ muốn giỏi hơn để không bị “You are fired now.”
Và tôi tin ai hiểu được cả hai thứ – hiểu giới hạn, hiểu giá trị của từng bên – thì không chỉ giữ được việc mà còn dẫn đầu.
Đó là góc nhìn của tôi. Một engineer, từng hoài nghi AI, từng tự kiêu vì code thật, và cuối cùng học cách để hai thứ hỗ trợ nhau.