AI đang thay đổi cách chúng ta phát triển phần mềm: Tận dụng để tiến xa hơn, không phụ thuộc để dừng lại
AI đang thay đổi cách phát triển phần mềm và tư duy tuyển dụng. Góc nhìn từ một Fullstack Developer về nền tảng kỹ thuật, AI Agent và cách học tập trong thời đại AI.

Gần đây, trong một buổi phỏng vấn tại một công ty phát triển sàn thương mại điện tử cho chính họ, mình nhận thấy một điều khá thú vị: khả năng sử dụng AI đã trở thành một yêu cầu mà doanh nghiệp quan tâm khi tuyển dụng nhân sự kỹ thuật.
Điều này khiến mình suy nghĩ nhiều hơn về sự thay đổi của ngành phần mềm.
AI không còn đơn thuần là một công cụ mới để thử nghiệm. Nó đang dần trở thành một phần trong cách chúng ta học tập, làm việc và phát triển sản phẩm.
Và mình nghĩ, thay vì tranh luận AI có thay thế lập trình viên hay không, có lẽ chúng ta nên đặt một câu hỏi khác:
Chúng ta sẽ làm được những gì khi biết tận dụng AI, và sẽ bỏ lỡ những cơ hội nào nếu không chịu thích nghi?
1. Bài học từ Excel: Công nghệ không chờ chúng ta sẵn sàng
Hãy tưởng tượng một người làm kế toán vào thời điểm các phần mềm bảng tính bắt đầu phổ biến.
Trước đây, họ có thể quen với việc tính toán thủ công, ghi chép và đối chiếu số liệu. Khi Excel xuất hiện, họ có hai lựa chọn: tiếp tục làm theo cách cũ hoặc học cách sử dụng công cụ mới.
Một người biết nghiệp vụ kế toán và sử dụng Excel tốt có thể xử lý dữ liệu nhanh hơn, tự động hóa nhiều phép tính và dành nhiều thời gian hơn cho việc phân tích.
Trong khi đó, người kiên quyết từ chối công nghệ có thể mất lợi thế cạnh tranh, dù họ vẫn có kinh nghiệm làm việc.
Excel không làm kiến thức kế toán mất giá trị. Nó làm thay đổi cách người ta sử dụng kiến thức đó.
Mình nhìn nhận AI ngày nay theo một cách tương tự.
Trước đây, để tạo ra một sản phẩm phần mềm, chúng ta phải dành nhiều thời gian cho việc viết code, xử lý lỗi và triển khai các chức năng.
Ngày nay, một người có thể sử dụng AI để tạo ra một website cơ bản trong thời gian rất ngắn. Những công việc từng đòi hỏi kiến thức lập trình nhất định đang trở nên dễ tiếp cận hơn.
Điều đó không có nghĩa ai cũng có thể xây dựng một hệ thống phần mềm chất lượng cao. Nhưng nó cho thấy rào cản để bắt đầu đã giảm xuống đáng kể.
Khi công nghệ làm thay đổi cách thực hiện công việc, chúng ta không thể chỉ dựa vào những lợi thế từng có trong quá khứ.
2. AI không chỉ giúp viết code nhanh hơn
Nếu chỉ nhìn AI như một công cụ sinh code, chúng ta có thể chưa đánh giá hết tiềm năng của nó.
AI có thể hỗ trợ nhiều công đoạn trong vòng đời phát triển phần mềm:
- Phân tích yêu cầu và làm rõ bài toán.
- Đề xuất kiến trúc và thiết kế hệ thống.
- Viết code, refactor và sửa lỗi.
- Tạo test và hỗ trợ kiểm thử.
- Phân tích log, tài liệu và dữ liệu.
- Hỗ trợ triển khai, tự động hóa và bảo trì.
Khi kết hợp AI với các công cụ có khả năng đọc, chỉnh sửa mã nguồn, chạy lệnh và thực hiện nhiều bước công việc, chúng ta tiến đến mô hình phát triển phần mềm với AI Agent.
Thay vì yêu cầu AI viết từng hàm riêng lẻ, lập trình viên có thể giao cho Agent một nhiệm vụ với phạm vi, yêu cầu và tiêu chí hoàn thành rõ ràng.
Agent có thể thực hiện nhiều bước, kiểm tra kết quả và tiếp tục xử lý dựa trên phản hồi từ môi trường.
Tất nhiên, khả năng thực thi đến đâu còn phụ thuộc vào công cụ, độ phức tạp của nhiệm vụ và cơ chế kiểm soát.
Nhưng sự thay đổi trong cách làm việc đã bắt đầu.
Trước đây, chúng ta dành phần lớn công sức để trực tiếp thực hiện từng thao tác kỹ thuật. Ngày nay, một phần công sức đó có thể chuyển sang xác định vấn đề, thiết kế giải pháp, điều phối công việc và kiểm chứng kết quả.
Điều này đặt ra một yêu cầu mới đối với người làm phần mềm: không chỉ biết thực hiện công việc, mà còn phải biết tổ chức công việc sao cho con người và AI phối hợp hiệu quả.
3. Vậy lập trình viên cần học gì trong thời đại AI?
Theo quan điểm cá nhân, mình vẫn cho rằng nền tảng kỹ thuật rất quan trọng.
Chúng ta cần hiểu ngôn ngữ lập trình, cấu trúc dữ liệu, cơ sở dữ liệu, mạng máy tính, hệ điều hành và các nguyên lý thiết kế phần mềm.
Không phải vì chúng ta phải tự viết mọi dòng code, mà vì chúng ta cần đủ năng lực để hiểu, đánh giá và kiểm soát hệ thống mình đang xây dựng.
Hãy lấy một ví dụ đơn giản.
AI có thể tạo ra một API đăng nhập với JWT trong vài phút. Nhưng để đánh giá giải pháp đó có phù hợp hay không, chúng ta cần hiểu cơ chế xác thực, phân quyền, vòng đời token, cách lưu trữ thông tin nhạy cảm và những rủi ro bảo mật liên quan.
Nếu chỉ biết yêu cầu AI tạo code, chúng ta có thể có một chức năng chạy được mà chưa chắc có một hệ thống an toàn.
Ngược lại, nếu hiểu nền tảng kỹ thuật, chúng ta có thể tận dụng AI để triển khai nhanh hơn mà vẫn kiểm soát được chất lượng.
Mình không cho rằng lập trình viên phải ghi nhớ toàn bộ cú pháp hay tự giải quyết mọi vấn đề mà không cần trợ giúp.
Điều quan trọng hơn là hiểu những nguyên lý cốt lõi, biết cách đặt câu hỏi, biết kiểm chứng và biết mình cần bổ sung kiến thức ở đâu.
Nền tảng kỹ thuật giúp chúng ta không chỉ tạo ra kết quả bằng AI, mà còn đánh giá được kết quả đó có thực sự đúng hay không.
4. Sử dụng AI như một người thầy riêng
Một trong những điều mình đánh giá cao ở AI là khả năng hỗ trợ tự học.
Trước đây, khi gặp một vấn đề kỹ thuật khó, chúng ta thường phải tìm kiếm tài liệu, đọc nhiều nguồn và tự kết nối các kiến thức rời rạc. Nếu không có người hướng dẫn, quá trình đó có thể mất khá nhiều thời gian.
Ngày nay, chúng ta có thể yêu cầu AI giải thích một khái niệm theo nhiều cách, đưa ra ví dụ thực tế, tạo bài tập và phản biện cách giải quyết của mình.
Ví dụ, khi tìm hiểu về Load Balancer và API Gateway, thay vì chỉ yêu cầu định nghĩa, mình có thể yêu cầu AI mô tả luồng request trong một hệ thống thực tế, giải thích vai trò của từng thành phần và đưa ra các tình huống khi một thành phần gặp lỗi.
Sau đó, mình tự vẽ sơ đồ kiến trúc, đưa ra phương án và yêu cầu AI phản biện.
Nếu vẫn chưa hiểu, mình có thể tiếp tục hỏi đến khi nắm được nguyên lý, rồi dựng một môi trường thử nghiệm để kiểm chứng.
AI giúp việc học trở nên chủ động và cá nhân hóa hơn. Chúng ta không cần chờ đến một buổi học tiếp theo mới có thể tìm lời giải cho câu hỏi của mình.
Tuy nhiên, có một điều mình luôn tự nhắc bản thân: Đọc một lời giải thích dễ hiểu không đồng nghĩa với việc đã thực sự hiểu vấn đề.
Sau khi học, chúng ta cần tự giải thích lại bằng lời của mình, áp dụng vào tình huống mới và kiểm chứng bằng thực nghiệm khi cần thiết.
AI có thể đóng vai trò người thầy, nhưng người học vẫn phải chủ động suy nghĩ.
5. Rủi ro lớn nhất: Tạo ra nhiều hơn nhưng hiểu ít hơn
Mình cho rằng đây là một vấn đề đáng quan tâm khi AI ngày càng tham gia sâu vào quá trình phát triển phần mềm.
Giả sử một lập trình viên yêu cầu AI xây dựng một module phức tạp. AI hoàn thành công việc, các chức năng cơ bản đều chạy và task được đánh dấu hoàn thành.
Nhưng nếu người đó không hiểu code vừa được tạo ra, chuyện gì sẽ xảy ra khi hệ thống gặp lỗi trong môi trường production?
Họ có thể phải tiếp tục dựa vào AI để sửa lỗi, rồi lại phụ thuộc vào AI để xử lý những vấn đề phát sinh từ lần sửa trước.
Nếu không kiểm soát tốt, tốc độ tạo code có thể tăng trong khi khả năng làm chủ hệ thống không tăng tương ứng.
Vấn đề không nằm ở việc sử dụng AI. Vấn đề nằm ở việc chúng ta giao phó cả quá trình suy nghĩ và đánh giá cho công cụ.
Vì vậy, mình không đặt mục tiêu phải tự viết mọi dòng code mà AI có thể viết tốt hơn.
Thay vào đó, mình muốn hiểu đủ sâu để biết code đang làm gì, vì sao giải pháp được lựa chọn, những rủi ro có thể xuất hiện và cách kiểm chứng kết quả.
Đối với những công việc lặp lại, ít rủi ro, mình sẵn sàng tự động hóa tối đa. Đối với những quyết định quan trọng liên quan đến kiến trúc, dữ liệu và bảo mật, mình cần cơ chế kiểm tra phù hợp.
Không phụ thuộc AI không có nghĩa là từ chối AI. Đó là khả năng sử dụng AI một cách chủ động mà không đánh mất năng lực tư duy độc lập.
6. Góc nhìn từ doanh nghiệp: Lợi thế không chỉ nằm ở tốc độ viết code
Nếu nhìn từ góc độ doanh nghiệp phần mềm, mình nghĩ AI còn tạo ra một cơ hội lớn hơn.
Khi chi phí xây dựng một số chức năng phần mềm giảm xuống, lợi thế cạnh tranh không thể chỉ dựa vào việc có bao nhiêu lập trình viên hoặc mất bao lâu để viết một chức năng.
Doanh nghiệp cần suy nghĩ về cách tổ chức toàn bộ quy trình phát triển sản phẩm.
Một đội ngũ biết sử dụng AI có thể tăng năng suất cá nhân. Nhưng một đội ngũ biết chuẩn hóa kiến trúc, xây dựng module tái sử dụng, tự động hóa kiểm thử và tổ chức workflow AI Agent có thể tạo ra lợi thế ở cấp độ vận hành.
Ví dụ, thay vì bắt đầu mọi dự án từ đầu, doanh nghiệp có thể xây dựng một nền tảng kỹ thuật dùng chung, bao gồm xác thực, phân quyền, logging, xử lý lỗi và các thành phần nghiệp vụ phổ biến.
AI hỗ trợ phát triển dựa trên nền tảng đó. Quy trình kiểm thử và review giúp kiểm soát chất lượng. CI/CD hỗ trợ triển khai nhất quán.
Khi ấy, AI không chỉ giúp một lập trình viên hoàn thành công việc nhanh hơn. Nó góp phần nâng cao năng lực sản xuất của cả đội ngũ.
Tuy nhiên, tốc độ phát triển chỉ là một phần của bài toán.
Doanh nghiệp vẫn phải hiểu khách hàng, lựa chọn đúng vấn đề cần giải quyết, xây dựng sản phẩm có giá trị và duy trì hệ thống sau khi đưa vào sử dụng.
Một ứng dụng được tạo ra trong vài ngày nhưng không giải quyết được vấn đề của khách hàng thì vẫn không phải một sản phẩm thành công.
Theo mình, doanh nghiệp cần đo lường hiệu quả bằng thời gian đưa sản phẩm ra thị trường, chất lượng phần mềm, chi phí vận hành và giá trị thực tế tạo ra, thay vì chỉ đếm số dòng code hoặc số task hoàn thành.
7. Vậy chúng ta nên thích nghi như thế nào?
Mình không nghĩ mọi người cần chạy theo tất cả công cụ AI mới xuất hiện.
Công cụ thay đổi rất nhanh. Một workflow hiệu quả hôm nay có thể cần điều chỉnh vào ngày mai.
Thay vì học mọi thứ cùng lúc, mình nghĩ nên tập trung vào ba việc.
Thứ nhất, xây dựng nền tảng chuyên môn đủ vững.
Hiểu lĩnh vực mình đang làm, những nguyên lý quan trọng và cách đánh giá chất lượng kết quả.
Thứ hai, học cách sử dụng AI để giải quyết công việc thực tế.
Không chỉ hỏi đáp hoặc tạo code, mà còn biết chia nhỏ nhiệm vụ, cung cấp ngữ cảnh, xác định tiêu chí hoàn thành và kiểm chứng đầu ra.
Thứ ba, biến những gì hiệu quả thành quy trình có thể tái sử dụng.
Nếu một cách làm giúp tiết kiệm thời gian và vẫn bảo đảm chất lượng, hãy chuẩn hóa nó để có thể áp dụng cho những lần sau hoặc chia sẻ với cả đội ngũ.
Đối với cá nhân, điều đó giúp chúng ta học nhanh hơn và nâng cao năng lực làm việc.
Đối với doanh nghiệp, nó giúp biến kinh nghiệm của từng người thành tài sản chung, thay vì mỗi nhân sự phải tự tìm ra cách làm từ đầu.
8. Kết luận: Đừng cạnh tranh với AI, hãy học cách tiến xa hơn nhờ AI
Mình nhìn nhận AI như một bước tiến lớn của công nghệ, tương tự cách máy tính cá nhân và Internet từng thay đổi cách con người làm việc.
Nhưng mình không cho rằng chỉ cần sử dụng AI là chúng ta sẽ tự động có lợi thế.
Điều quan trọng là biết mình đang giải quyết vấn đề gì, hiểu công cụ có thể làm được gì, nhận ra giới hạn của nó và sử dụng kết quả một cách có trách nhiệm.
Đối với người làm phần mềm, mình nghĩ hướng đi phù hợp không phải là cố gắng viết code nhanh hơn AI, mà là kết hợp nền tảng kỹ thuật với khả năng sử dụng AI để xây dựng những hệ thống tốt hơn.
Đối với doanh nghiệp, cơ hội không chỉ nằm ở việc giảm thời gian phát triển, mà còn ở khả năng tổ chức lại quy trình để tạo ra nhiều giá trị hơn với nguồn lực hợp lý.
Và đối với việc học, AI mở ra cơ hội tiếp cận kiến thức mà trước đây chúng ta có thể phải mất nhiều thời gian và chi phí mới có được.
Mình muốn tận dụng cơ hội đó, nhưng vẫn duy trì thói quen tự suy nghĩ, tự kiểm chứng và liên tục củng cố nền tảng của mình.
Bởi vì sau cùng, công nghệ có thể thay đổi cách chúng ta làm việc, nhưng việc chúng ta lựa chọn học hỏi, thích nghi và sử dụng công nghệ như thế nào vẫn là một quyết định của chính mình.
Đừng từ chối AI vì sợ bị thay thế. Cũng đừng phụ thuộc AI đến mức không còn hiểu những gì mình đang làm. Hãy sử dụng nó để mở rộng giới hạn của bản thân.
Đó là cách mình muốn tiếp cận AI trong hành trình phát triển kỹ thuật và xây dựng sản phẩm của mình.