AI có thể tạo ra hàng trăm, thậm chí hàng nghìn dòng code chỉ trong vài phút. Điều đó khiến việc implementation trở nên nhanh và rẻ hơn bao giờ hết.
Khi implementation không còn là điểm nghẽn, điều tạo nên khác biệt giữa các Software Engineer không còn nằm ở việc viết được bao nhiêu code.
Điều tạo nên khác biệt là cách chúng ta suy nghĩ, đặt câu hỏi và đưa ra quyết định.
Một Software Engineer không chỉ chịu trách nhiệm viết ra một đoạn code chạy được. Họ còn phải hiểu đúng bài toán, đánh giá trade-off, quản lý rủi ro, cân bằng giữa yêu cầu kỹ thuật và mục tiêu của doanh nghiệp.
AI có thể hỗ trợ implementation.
Nhưng AI không hiểu đầy đủ bối cảnh của một hệ thống, mục tiêu của doanh nghiệp hay những ưu tiên luôn thay đổi trong quá trình phát triển sản phẩm.
Cuối cùng, trách nhiệm cho những quyết định đó vẫn thuộc về Software Engineer.
Điểm nghẽn không còn là tạo ra code
Trước đây, quá trình phát triển phần mềm thường bị giới hạn bởi tốc độ viết code.
Ngày nay, AI có thể tạo implementation gần như tức thời. Điểm nghẽn dần chuyển từ tạo ra code sang kiểm chứng code.
Những câu hỏi quan trọng không còn là:
“Làm sao để viết đoạn code này?”
Mà là:
- Đoạn code này có đúng với yêu cầu không?
- Có bỏ sót trường hợp đặc biệt nào không?
- Có ảnh hưởng đến những chức năng đang chạy không?
- Có dễ bảo trì và mở rộng sau này không?
- Có phát sinh rủi ro về bảo mật không?
AI giúp tạo ra implementation nhanh hơn.
Nhưng AI không giúp chúng ta chắc chắn rằng implementation đó là lựa chọn đúng.
Khi việc tạo code ngày càng rẻ, kiểm chứng, đánh giá và ra quyết định mới là phần tạo ra giá trị.
AI giúp tạo code nhanh hơn, nhưng không giúp chúng ta đọc nhanh hơn
Một tác động ít được nhắc đến của AI là làm tăng cognitive load (gánh nặng nhận thức).
AI có thể tạo hàng chục file, hàng nghìn dòng code hoặc cả một tính năng chỉ trong vài phút.
Trong khi đó, tốc độ đọc, hiểu và đánh giá của con người gần như không thay đổi.
Điều đó đồng nghĩa với việc mỗi Software Engineer sẽ phải xử lý nhiều thông tin hơn trước:
- Đọc code.
- Hiểu thiết kế.
- Review thay đổi.
- Đánh giá rủi ro.
- Kiểm chứng kết quả AI tạo ra.
Nếu trước đây phần lớn thời gian dành cho việc viết code, thì trong tương lai chúng ta sẽ dành nhiều thời gian hơn để đọc, phân tích và đưa ra quyết định.
Khi implementation trở nên gần như miễn phí, khả năng tập trung và đánh giá đúng sẽ trở thành một nguồn lực quý giá.
AI là một “amplifier”
AI không biến một team bình thường thành một team xuất sắc.
Nó chỉ khuếch đại những gì team đang có.
Nếu dự án có:
- Architecture rõ ràng.
- Coding convention thống nhất.
- Documentation đầy đủ.
- CI/CD ổn định.
- Test đáng tin cậy.
AI sẽ giúp tăng năng suất rất mạnh.
Ngược lại, nếu codebase đang hỗn loạn, AI cũng sẽ giúp tạo ra technical debt nhanh hơn.
AI không giải quyết những vấn đề nền tảng của một dự án.
Nó chỉ giúp chúng ta đi nhanh hơn.
Đi đúng hướng sẽ nhanh hơn.
Đi sai hướng cũng sẽ nhanh hơn.
Test và Specification sẽ quan trọng hơn
Khi AI có thể tạo implementation gần như tức thời, test không còn chỉ là bước kiểm tra cuối cùng.
Test sẽ trở thành cách để xác nhận AI đang tạo ra đúng thứ chúng ta cần.
Tương tự, một specification rõ ràng cũng ngày càng có giá trị. Nếu yêu cầu được mô tả đủ chi tiết, AI có thể hiện thực bằng Java, Go, Python hay bất kỳ ngôn ngữ nào.
Có thể trong tương lai, tài sản quan trọng nhất của một dự án sẽ không còn là source code.
Thay vào đó là:
- Business Requirement.
- Specification.
- Test.
- Domain Knowledge.
Code chỉ là kết quả được sinh ra từ những thông tin đó.
Security không còn là bước cuối cùng
AI có thể giúp tạo ra một tính năng rất nhanh, nhưng một ứng dụng chạy đúng chức năng chưa chắc đã là một ứng dụng an toàn.
Một lỗ hổng bảo mật có thể dẫn đến:
- Mất dữ liệu.
- Rò rỉ thông tin khách hàng.
- Gián đoạn dịch vụ.
- Mất uy tín doanh nghiệp.
- Thiệt hại tài chính.
Nói cách khác, failed security có thể dẫn đến failed business.
Vì vậy, security không nên được xem là việc của riêng Security Team hoặc chỉ xuất hiện ở giai đoạn cuối trước khi release.
Security là trách nhiệm của mọi Software Engineer, bắt đầu từ lúc phân tích yêu cầu, thiết kế kiến trúc, viết implementation, review code cho đến vận hành hệ thống.
Khi làm việc cùng AI, chúng ta cũng cần liên tục đặt câu hỏi:
- Thiết kế này có an toàn không?
- Quyền truy cập đã được kiểm soát đúng chưa?
- Có đang vô tình để lộ dữ liệu nhạy cảm không?
- AI có đang đề xuất một giải pháp tiện lợi nhưng tiềm ẩn rủi ro không?
Một tính năng có thể được AI tạo ra trong vài phút.
Nhưng chỉ một quyết định sai về security cũng có thể khiến toàn bộ hệ thống ngừng hoạt động hoặc ảnh hưởng trực tiếp đến hoạt động kinh doanh.
Trong thời đại AI, tốc độ rất quan trọng.
Nhưng security luôn phải là một trong những ưu tiên hàng đầu.
Tư duy của một Software Engineer được tạo nên từ những câu hỏi đúng
AI có thể tạo ra câu trả lời rất nhanh.
Nhưng trước khi có một quyết định đúng, cần phải có những câu hỏi đúng.
Một Software Engineer không chỉ sử dụng AI để tạo implementation.
Công việc quan trọng hơn là liên tục đặt câu hỏi để hiểu đúng bài toán, làm rõ yêu cầu, đánh giá trade-off và đưa ra quyết định phù hợp.
Những câu hỏi đó có thể là:
- Yêu cầu này đã thực sự giải quyết đúng vấn đề chưa?
- Thiết kế này có đủ đơn giản không?
- Có đang tạo thêm technical debt không?
- Đây có phải là đúng giải pháp vào đúng thời điểm không?
- Giá trị mang lại có xứng đáng với chi phí và thời gian đầu tư không?
AI có thể giúp chúng ta khám phá nhiều phương án, phân tích ưu và nhược điểm, chỉ ra những rủi ro có thể xảy ra.
Nhưng AI không thay chúng ta ra quyết định.
Quyết định cuối cùng vẫn cần dựa trên bối cảnh của hệ thống, mục tiêu của doanh nghiệp, nguồn lực của đội ngũ và những trade-off phải chấp nhận.
Có thể nói, một trong những kỹ năng quan trọng nhất của Software Engineer trong thời đại AI sẽ là Q&A (Question & Answer).
Không phải để hỏi AI nhiều hơn.
Mà để làm rõ vấn đề trước khi đưa ra quyết định.
Kết
AI đang làm cho việc tạo implementation trở nên nhanh và rẻ hơn.
Điều trở nên khan hiếm không phải là khả năng viết code, mà là khả năng hiểu vấn đề, đánh giá trade-off và đưa ra những quyết định đúng.
AI có thể hỗ trợ chúng ta:
- Khám phá nhiều giải pháp hơn.
- Làm rõ các rủi ro.
- Phân tích các lựa chọn.
- Tăng tốc quá trình phát triển.
Nhưng AI không chịu trách nhiệm cho quyết định cuối cùng.
AI không biết đầy đủ bối cảnh của doanh nghiệp, ưu tiên của sản phẩm hay những đánh đổi mà đội ngũ phải chấp nhận.
Software Engineer vẫn là người đưa ra quyết định và chịu trách nhiệm cho quyết định đó.
Trong thời đại AI, lợi thế cạnh tranh không còn nằm ở việc ai viết code nhanh hơn.
Lợi thế cạnh tranh nằm ở cách chúng ta suy nghĩ, những câu hỏi chúng ta đặt ra và chất lượng của những quyết định chúng ta đưa ra.