Photo by AltumCode on Unsplash
AI sắp thay thế dev?
Nhiều anh em lo lắng hỏi mình về việc AI sắp thay thế dev chưa? Câu trả lời của mình thì đến thời điểm hiện tại là CHƯA. Vẫn cần có người verify các dòng code mà AI viết ra.
Nhưng ngành công nghệ vốn là một ngành thay đổi nhanh chóng, công nghệ này hôm nay còn hot, ngày mai đã trở nên lỗi thời. Ví dụ như 6 năm trước lúc mình ra trường, code Android vẫn chủ yếu dùng Java. Vậy nhưng bây giờ nếu chỉ biết Java mà không biết Kotlin thì thực sự rất khó kiếm được việc.
Vậy nên, trong tương lai 5 năm, 10 năm nữa AI có thay thế dev không thì mình không dám chắc.
AI thay thế cách chúng ta làm việc
Vậy nhưng, rõ ràng là AI đang thay đổi cách chúng ta làm việc.
Trước đây, công việc chính của anh em dev sẽ là chuyển hoá từ requirement, design thành code. Tech lead, senior thì còn tốn thêm thời gian meeting, clear requirement, chứ anh em junior phần lớn thời gian là coding. Để ra được sản phẩm có thể mất hàng tháng, thậm chí hàng năm trời.
Dạo gần đây mình đang build project cá nhân mới, hôm nay đã là ngày thứ 10, vậy nhưng với sự hỗ trợ của Cursor, lượng code mình viết và trực tiếp sửa chắc chỉ chiếm 5%. Trước đây anh em dùng ChatGPT thì nó chỉ làm được 1 số component nhỏ nhỏ, rồi anh em copy vào project của mình. Copy vào xong cũng phải sửa chán chê nó mới khớp. Nhưng với Cursor thì khác, nó hiểu context project của mình. Vậy nên đưa cho nó base project với một số file mà mình đã code sẵn, nó sẽ copy được 99% cái format đó, gần như dùng được ngay, không phải sửa gì hoặc sửa rất ít. Cursor hoạt động như một AI Agent, sau khi gen code, thậm chí tự tạo file mới, nó sẽ tự run project xem có lỗi gì không, nếu có lỗi thì tự fix tiếp, cho đến khi ok thì mới bảo mình review những file thay đổi.
Công việc của mình bây giờ gần giống như một technical lead, hàng ngày define task cho Cursor code, sau đó review, nếu thấy chỗ nào chưa ổn thì bảo nó sửa luôn. Đến lúc hài lòng rồi thì merge code thôi vậy.
Nhưng để review code của AI, bạn phải là người nắm rõ từng dòng code nó viết ra có ý nghĩa gì, chỗ nào chưa tối ưu để còn biết đường bảo nó sửa lại. Sẽ rất nguy hiểm nếu các bạn áp dụng một cách bừa bãi, và sau này nếu có bug phát sinh thì không biết sửa lại như thế nào.
Thực trạng
Hiện tại có một rào cản là các công ty lớn vẫn khá e ngại áp dụng AI vì vấn đề bảo mật dữ liệu. Thêm nữa là lượng codebase của họ cũng rất lớn, dùng các AI phổ thông để học cũng khá tốn token, mà AI thì có giới hạn về lượng token mà nó nhớ được. Mình cũng vậy, công việc trên công ty cũng không dùng được mấy. Vậy nhưng với các công ty nhỏ hoặc anh em Indie Hacker, cái “rào cản” này không quá đáng ngại, thì đây là cơ hội để anh em bứt phá, tăng tốc độ phát triển phần mềm. Thử tưởng tượng, thời gian build MVP được rút ngắn từ vài tháng xuống còn vài tuần, thậm chí vài ngày.
Các con số không biết nói dối, lượng truy cập StackOverflow đang giảm dần. Anh em dev đang chuyển sang hỏi AI nhiều hơn là đi hỏi Google như trước.
Quay trở lại với câu hỏi đầu bài viết, nếu như trước đây các team cần 3 senior và 7 junior, nhưng bây giờ mọi người áp dụng AI và làm việc năng suất hơn nên chỉ cần 3 senior và 4 junior. Vậy thì chẳng phải AI đã thay thế 3 junior rồi sao? Nói đúng hơn là những người tận dụng AI tốt đang làm thay việc những người chưa biết dùng AI.
Kết
Nhân ngày đầu năm viết post tản mạn về công việc của mình để các năm sau nó nhắc lại. Trong Cách mạng Công nghiệp lần thứ nhất, máy móc đã thay thế con người trong những công việc tay chân nhàm chán, giải phóng sức lao động để chúng ta tập trung trí lực vào những công việc khác. Vậy thì cùng chờ xem 5 năm, 10 năm tới, AI sẽ đưa chúng ta đi xa đến như thế nào.