Cộng đồng công nghệ đang sôi nổi tranh luận về thuật ngữ và tương lai của lập trình sau những bình luận gần đây của CEO GitHub Thomas Dohmke về việc duy trì các kỹ năng lập trình truyền thống cùng với các công cụ AI. Trong khi Dohmke ủng hộ phương pháp kết hợp giữa hỗ trợ AI và chuyên môn lập trình của con người, các nhà phát triển đặc biệt lên tiếng về ngôn ngữ được sử dụng để mô tả công việc của họ.
Sự phát triển quy trình làm việc của lập trình viên:
- Kỹ sư sản phẩm: Tận dụng AI để tạo mã và tạo nguyên mẫu nhanh chóng
- Kiến trúc sư lập trình cao cấp: Tập trung vào đảm bảo chất lượng và thiết kế hệ thống
- Phương pháp kết hợp: Kết hợp tự động hóa AI với sự giám sát và tinh chỉnh của con người
- Tin tưởng và xác minh: Thực hành tiêu chuẩn để xem xét mã do AI tạo ra trước khi triển khai
Tranh cãi về lập trình thủ công chạm đến điểm nhạy cảm
Thuật ngữ lập trình thủ công đã gây ra sự phản đối mạnh mẽ từ các nhà phát triển, những người coi đây là cách hạ thấp không cần thiết các kỹ năng lập trình của con người. Các thành viên cộng đồng đang đặt câu hỏi liệu cụm từ này có thực sự đại diện cho công việc phát triển phức tạp, được hỗ trợ bởi công cụ mà các lập trình viên đã thực hiện trong nhiều thập kỷ hay không. Mối quan ngại vượt ra ngoài ngữ nghĩa đơn thuần - các nhà phát triển lo ngại rằng việc đóng khung lập trình truyền thống như thủ công có thể làm suy giảm giá trị và độ phức tạp của chuyên môn lập trình của con người.
Một số người đã đề xuất các thuật ngữ thay thế như lập trình con người hoặc thậm chí đùa cợt đề xuất lập trình hữu cơ để nắm bắt tốt hơn bản chất công việc của nhà phát triển mà không có những hàm ý tiêu cực của lao động thủ công.
Các công cụ AI gặp phải giới hạn thực tế trong các tình huống thực tế
Bất chấp những tiến bộ nhanh chóng trong hỗ trợ lập trình AI, các nhà phát triển đang chia sẻ những ví dụ cụ thể về nơi mà các công cụ hiện tại không đáp ứng được kỳ vọng. Một trường hợp đặc biệt điển hình liên quan đến một nhà phát triển cố gắng tái cấu trúc mã kết hợp các mẫu lập trình khác nhau - một câu lệnh if trong một phần và một câu lệnh switch trong phần khác. Công cụ AI liên tục thất bại trong việc duy trì lựa chọn thiết kế có chủ ý này, mặc định về các mẫu thống nhất bất kể hướng dẫn rõ ràng.
Điều này làm nổi bật một thách thức cơ bản: AI xuất sắc trong việc áp dụng các mẫu phổ biến nhưng gặp khó khăn với các quyết định tinh tế mà các nhà phát triển có kinh nghiệm thực hiện một cách bản năng. Các công cụ hoạt động tốt cho các tác vụ riêng lẻ nhưng có thể bỏ qua những cân nhắc thiết kế tinh tế quan trọng trong các hệ thống phần mềm phức tạp.
Nghịch lý năng suất xuất hiện
Một nghịch lý thú vị đang xuất hiện trong quy trình phát triển được hỗ trợ bởi AI. Trong khi những công cụ này có thể tạo ra mã nhanh chóng, các nhà phát triển thường thấy mình dành nhiều thời gian hơn để giải thích các thay đổi đơn giản bằng ngôn ngữ tự nhiên so với thời gian cần thiết để thực hiện các thay đổi trực tiếp. Điều này tạo ra sự kém hiệu quả mâu thuẫn với những lợi ích năng suất được hứa hẹn.
Nhiều thay đổi mà việc mô tả chúng bằng tiếng Anh mất nhiều thời gian hơn so với chỉ thực hiện thay đổi đó.
Cách tiếp cận hiệu quả nhất dường như là có tính chọn lọc - sử dụng AI cho các tác vụ cụ thể như tạo mã boilerplate trong khi duy trì sự giám sát của con người đối với logic phức tạp và quyết định thiết kế. Các nhà phát triển báo cáo rằng khoảng 90% mã được tạo bởi AI vẫn cần điều chỉnh của con người, ngay cả khi các công cụ hoạt động tốt tổng thể.
Thống kê về AI Coding:
- Khoảng 50% mã code được tạo bởi AI chứa lỗi một phần cần con người xem xét
- Google báo cáo hơn 20% mã code của họ hiện được tạo bởi AI nhưng vẫn cần sự tinh chỉnh đáng kể từ con người
- Các nhà phát triển báo cáo 90% mã code được tạo bởi AI cần điều chỉnh thủ công trong các tình huống thực tế
- Các công cụ AI nâng cao năng suất từ 15-25 phút mỗi ngày theo nghiên cứu của Deloitte
Lợi ích kinh doanh định hình câu chuyện
Cuộc tranh luận cũng tiết lộ những động cơ kinh doanh cơ bản. GitHub ủng hộ việc tiếp tục sự tham gia của con người trong lập trình phù hợp với mô hình kinh doanh của họ, vốn phụ thuộc vào việc các nhà phát triển tích cực sử dụng nền tảng của họ. Điều này đặt ra câu hỏi về cách các lợi ích tài chính của các bên liên quan khác nhau ảnh hưởng đến câu chuyện xung quanh vai trò của AI trong phát triển phần mềm.
Cuộc thảo luận phản ánh một căng thẳng rộng lớn hơn trong ngành công nghệ giữa những người thúc đẩy AI như một sự thay thế cho công việc của con người và những người ủng hộ các phương pháp tăng cường bảo tồn chuyên môn của con người trong khi tận dụng khả năng AI.
Sự đồng thuận của cộng đồng dường như đang ổn định xung quanh một mô hình kết hợp nơi AI xử lý các tác vụ thường xuyên trong khi con người tập trung vào kiến trúc, giải quyết vấn đề và đảm bảo chất lượng. Sự phát triển này cho thấy rằng các vai trò lập trình đang chuyển đổi thay vì biến mất, đòi hỏi các nhà phát triển phải thích ứng kỹ năng của họ thay vì từ bỏ chúng hoàn toàn.
Tham khảo: GitHub CEO: manual coding remains key despite AI boom