- Trước đây, có thể xây dựng website với cấu trúc đơn giản bằng PHP 4, jQuery, Dreamweaver, và một lập trình viên có thể quản lý toàn bộ quy trình
- Hiện nay, độ phức tạp của frontend và backend đã tăng mạnh, khiến từng mảng như build pipeline, kiểm thử, quản lý hạ tầng... đều đòi hỏi chuyên môn sâu
- Với sự xuất hiện của các công cụ AI (Claude, Codex), lập trình viên đã lấy lại được năng suất để một lần nữa có thể xử lý toàn bộ stack
- AI tái hiện tiêu chuẩn code và quy trình của các đồng nghiệp trước đây, đồng thời nâng năng suất lên khoảng 10 lần nhờ đánh giá chất lượng code và cải tiến lặp lại
- Khi AI xử lý các công việc lặp lại, lập trình viên có thêm dư địa để tập trung vào thử nghiệm sáng tạo và cải thiện trải nghiệm người dùng, và phát triển web lại trở thành một quá trình thú vị
Phát triển web đơn giản ngày trước
- Vào thời PHP 4 và jQuery còn mới mẻ, website được tạo bằng layout dựa trên bảng và cắt giao diện từ thiết kế Photoshop
- Với các công cụ như Dreamweaver và phpMyAdmin, một người có thể quản lý toàn bộ quá trình phát triển
- Khi đó, khái niệm về chu kỳ phát triển đơn giản đến mức có thể nắm toàn bộ trong đầu, và nếu có ý tưởng thì có thể hiện thực hóa ngay
- Nhìn lại bây giờ thì vẫn phức tạp, nhưng đó là mức độ phức tạp có thể kiểm soát được, và cả lập trình viên cá nhân cũng có thể kiểm soát toàn bộ quy trình
Sự bùng nổ của độ phức tạp
- Hiện nay, phát triển web đã chứng kiến độ phức tạp tăng vọt ở cả frontend lẫn backend
- Ở frontend có build pipeline, bundler, CSS framework, PWA, Core Web Vitals, SEO, hình ảnh responsive và nhiều yếu tố khác
- Ở backend có pattern thiết kế, unit test, code coverage, API, hiệu năng, quản lý dependency, hạ tầng, giám sát, truy vết log, observability...
- Khi từng mảng ngày càng trưởng thành, kiến thức miền chuyên sâu trở nên cần thiết hơn, và một người khó có thể bao quát hết mọi thứ
- Tác giả cho biết đã phải từ bỏ công việc frontend để tập trung vào backend và hạ tầng máy chủ
Khôi phục lại sự cân bằng nhờ AI
- Với sự xuất hiện của AI (Claude, Codex), năng suất đã được khôi phục về mức như trước đây
- AI không hoàn hảo, nhưng đã giúp rút ngắn quãng đường từ ý tưởng đến triển khai xuống chỉ còn vài ngày
- Nhờ AI, độ phức tạp của từng lĩnh vực trở nên bớt quan trọng hơn, và một lần nữa hình thành môi trường có thể tự tin xử lý toàn bộ stack
Nhận diện mẫu và tái sử dụng kinh nghiệm
- Thông qua AI, có thể tái hiện tiêu chuẩn code, giọng điệu, chiến thuật và quy trình của các đồng nghiệp trước đây
- Dựa trên kinh nghiệm từng làm việc với các chuyên gia ở nhiều lĩnh vực, AI có thể mô phỏng cách làm của họ
- Việc bắt đầu một dự án mới không còn là gánh nặng, và thông qua tương tác lặp lại với AI, năng suất tăng 10 lần
- Mục tiêu vẫn là xây dựng phần mềm chất lượng cao theo tiêu chuẩn hiện đại, và AI giúp đạt được điều đó nhanh hơn
Sự trở lại của tính sáng tạo
- Khi AI xử lý những công việc lặp lại và phức tạp, lập trình viên có được dư địa tinh thần và không gian sáng tạo
- Build pipeline, kiểm thử, quản lý bug... đều có thể được giải quyết nhanh hơn với sự trợ giúp của AI
- Giờ đây, có thể tập trung vào thử nghiệm UI·UX, kiểm thử ý tưởng và cải thiện tinh chỉnh trải nghiệm người dùng
- Niềm vui cốt lõi không nằm ở hành vi gõ code, mà nằm ở chính quá trình tạo ra thứ gì đó từ con số không, và
nhờ các công cụ AI, quá trình ấy một lần nữa trở thành công việc hiệu quả về thời gian và đầy hứng thú
- Kết luận là, AI đã khiến phát triển web trở nên thú vị trở lại
5 bình luận
Dạo này tôi đang làm một công cụ đơn giản như một dự án cá nhân, và tôi thực sự rất đồng cảm với câu này.
Vì cũng phải làm tính năng chỉnh sửa ảnh và UI phức tạp nên tôi đã suy nghĩ nên dùng gì, cuối cùng đang làm bằng web UI.
Nhìn lại sơ sơ 2 ngày code cuối tuần, tôi thấy những thứ nếu tự làm thủ công chắc phải mất hơn 2 tháng thì giờ đã có thể cùng AI làm xong rất nhanh.
Đúng vậy haha, tôi cũng đang thử áp dụng vào vài dự án cá nhân, và có vẻ theo thời gian, số lần thử sai cũng giảm dần nên đang ngày càng trở nên khá hữu dụng.
Dạo này tôi cũng vậy... hơn là lo AI sẽ cướp mất việc làm, tôi lại cảm thấy niềm vui vô cùng lớn trong việc tự tay tạo ra mọi thứ. Có những lúc chỉ nghĩ đến việc thức dậy vào buổi sáng thôi cũng thấy háo hức.
Tôi cũng đang dùng AI khá hiệu quả cho các công cụ cá nhân, dịch vụ cá nhân và cả việc phát triển game web như một sở thích nữa.
Bình luận trên Hacker News
Mình thích thời đại có LLM hỗ trợ hiện nay
Mình thấy nhiều người từng ngừng lập trình vì chuyển sang làm quản lý hoặc bận chăm con nay lại bắt đầu code trở lại
Nhờ AI mà giờ có thể làm ra thứ hữu ích chỉ trong vòng 30 phút, và còn có thể làm song song với công việc khác
Không còn cần phải tách riêng 2–4 tiếng như trước nữa
Nếu từng có kinh nghiệm lập trình trước đây, đặc biệt là kinh nghiệm quản lý, thì sẽ rất hiệu quả trong việc điều khiển AI như một coding agent
Code như một sở thích không đặt mục tiêu năng suất, mà cốt lõi là niềm vui của khám phá và đắm chìm
Nếu có 30 phút thì cứ nghịch code một chút, rồi khi có thời gian lại tiếp tục, đó mới là cái vui thật sự
Dù đã dùng flexbox hơn 10 năm, lần nào cũng phải tìm lại
Giờ thì mình cứ hỏi AI. Đây là một kiểu thay đổi khác hẳn so với thời phải tra MDN Docs
Trước đây mình từng tự làm plugin cho Obsidian, nhưng sau 4 năm thì API đã đổi và mình cũng quên mất Typescript
Mùa đông này mình thử lại cùng Claude, và đã làm được hai plugin mới đồng thời cải thiện cả code cũ
Claude xử lý giúp những phần phức tạp như gợi ý API, sửa linter, đề xuất cú pháp nên tiến độ nhanh hơn hẳn
Chỉ cần bỏ ra một hai tiếng sau khi con ngủ là đã thấy tiến triển rõ rệt, nên mình lại thấy vui trở lại
những dự án phụ trước đây chỉ dành được 2–4 tiếng mỗi tuần nay đang có tiến triển đáng kinh ngạc
Nó giống như một kiểu nghịch lý Jevons, khiến mình nghĩ rằng sắp tới sẽ là thời kỳ mà những dự án “chỉ cần có thời gian là muốn thử” thực sự được hoàn thành
Các pipeline build phức tạp ở frontend, bundler, framework CSS v.v. đều là tùy chọn
Tôi đã làm website 25 năm nay, và công nghệ cơ bản vẫn hoạt động rất tốt
Không nhất thiết phải chạy theo mọi xu hướng mới thì mới có thể phát triển một cách lành mạnh hơn về tinh thần
Phần lớn website marketing không cần JS bundler, framework CSS hay pipeline CI/CD
Nếu là một website do hai ba người quản lý thì cách tiếp cận đơn giản là hợp lý,
nhưng với một sản phẩm lớn có hàng trăm người cộng tác thì công cụ phức tạp là cần thiết để đảm bảo năng suất
Mình đồng ý rằng PHP hay server-side rendering không phải lúc nào cũng cần, nhưng phần còn lại thì khác xa thực tế
Mình thích sự đơn giản, nhưng ghét cấu trúc phức tạp vô nghĩa
Dùng AI chỉ để lấy kết quả thì không có niềm vui học hỏi
Cảm giác như ai cũng nghĩ “cứ để AI giải quyết”, nên mức độ trừu tượng hóa còn tăng thêm
Điều thực sự cần là sự đơn giản hóa
Mình nhớ thời LAMP stack ngày xưa, nhưng bây giờ vẫn hoàn toàn có thể làm thế
Tự xử lý PHP và SQL mà không cần framework thật ra còn vui hơn và an toàn hơn
Nhờ HTML5 nên không còn cần layout bằng bảng nữa, còn VS Code thì giữ lại những điểm hay của Dreamweaver
Nếu là lập trình viên solo thì tốt nhất cứ bỏ qua tooling phức tạp
So với phpMyAdmin ngày xưa thì các công cụ như DBeaver ổn định hơn rất nhiều
Câu “nhờ AI mà năng suất tăng 10 lần” nghe như một ảo tưởng bị thổi phồng
Kết quả thay đổi theo từng prompt nên giống một kiểu đánh cược
Trên thực tế có khi còn kém hiệu quả hơn
Chỉ cần gọi là một kỹ sư 2,5x thôi là đã đủ khiêm tốn và thực tế rồi
Nhờ AI mà mình hoàn thành được nhiều dự án nhỏ hơn hẳn trước đây
Tất nhiên cũng có nhiều lần mình làm lại từ đầu vì không thích kết quả AI đưa ra
Gần như tất cả những tính năng khó mà mình trì hoãn suốt mấy năm qua đều đã hoàn thành
Điều khó nhất với mình hiện nay là review code
Nó nhàm chán và mệt mỏi về mặt tinh thần
Vì vậy giờ mình chỉ xem thật kỹ các phần liên quan đến ranh giới bảo mật hoặc truy cập dữ liệu, còn lại thì lướt qua
AI xử lý phần lớn khá ổn, nhưng với con người bảo trì thì có quá nhiều cửa sổ vỡ
Có quá nhiều lỗi khó lường, và càng về sau càng không thể bảo trì nổi
Điều mình nhận ra gần đây là mình bắt đầu không muốn đọc cả văn bản do AI viết lẫn những bài ca ngợi AI
Tất cả đều lặp đi lặp lại những điều giống nhau nên rất chán
Về bản chất mình yêu việc phát triển phần mềm, nhưng thứ mình thích hơn là tự động hóa và tối ưu hiệu suất
Làm quản trị viên WAF trong lĩnh vực an ninh mạng, mình đã dùng Gemini Canvas để tạo 4 script tự động hóa chỉ trong một tuần
Những việc trước đây mất 1–2 tuần thì giờ xong trong 3 tiếng
Với tốc độ như vậy thì chẳng có lý do gì để không dùng AI
Sự phức tạp của frontend trước đây cũng đã tồn tại rồi
Chỉ là khi đó người ta phớt lờ nó và chấp nhận rủi ro
Tự deploy bằng FTP, bật trang bảo trì, nguy cơ hỏng dữ liệu — mọi thứ đều bấp bênh hơn bây giờ rất nhiều
Tailwind hay Core Web Vitals hiện nay là kết quả của việc dọn dẹp mớ hỗn loạn khi đó
Cuối cùng thì bây giờ vẫn tốt hơn nhiều, và phát triển với LLM cũng rất thú vị
Không phải độ phức tạp mới xuất hiện, mà chỉ là giờ nó đã hiện rõ ra trước mắt
Khi đó còn chưa có cả quản lý phiên bản
Là một backend developer nên mình không có gu thiết kế, nhưng dạo này việc làm UI biểu đồ và đồ thị dễ đến mức đáng ngạc nhiên
Chỉ cần nói kiểu như “thêm dữ liệu foo dưới dạng đường”, “thêm biểu đồ phân tán ở bên dưới”, “đổi màu sang đỏ hơn một chút” là được
Trước đây phải học sơ qua d3, vega-lite, matplotlib v.v.,
còn bây giờ AI tự chọn luôn framework như chart.js