ChatGPT Không Đến để Chiếm Lĩnh Công Việc Lập Trình Của Bạn

Kỹ sư phần mềm đã gia nhập đội ngũ của biên tập viên bản sao, dịch giả và những người khác lo lắng rằng họ sắp bị thay thế bởi trí tuệ nhân tạo tạo nên. Nhưng có thể ngạc nhiên khi biết rằng các lập trình viên đã từng đối mặt với nguy cơ trước đây. Công nghệ mới đã hứa hẹn từ lâu sẽ “phá vỡ” lĩnh vực kỹ thuật, và những đổi mới này luôn thất bại trong việc loại bỏ nhu cầu về những nhà phát triển phần mềm con người. Nếu có gì, chúng thậm chí làm cho những người này trở nên không thể thiếu hơn.
Để hiểu tại sao lo lắng về sự kết thúc của các lập trình viên xuất phát từ đâu—và tại sao nó đã được nói quá mức—chúng ta cần nhìn lại sự phát triển của lập trình và máy tính. Phần mềm từng là một điều bị lãng quên đối với nhiều pioner máy tính sớm, người xem xét phần cứng và kiến trúc hệ thống là sự theo đuổi trí tuệ thực sự trong lĩnh vực này. Đối với nhà khoa học máy tính John Backus chẳng hạn, gọi lập trình viên là “lập trình viên” hoặc “kỹ sư” tương đương với việc đặt tên cho những người giữ gìn sạch sẽ “lễ tân,” một cố gắng giả vờ rằng công việc hèn nhát của họ quan trọng hơn thực sự nó là như thế nào. Hơn nữa, nhiều lập trình viên sớm là phụ nữ, và đồng nghiệp có tư duy chủ nghĩa nữ thường xem công việc của họ như công việc thư ký. Nhưng mặc dù lập trình viên có thể đóng một vai trò quan trọng—nếu không được đánh giá—họ thường không phù hợp với cấu trúc tổ chức của công ty. Trong những ngày đầu của máy tính, họ thường tự học và làm việc trên những chương trình mà họ tự mình nghĩ ra, điều này có nghĩa là họ không có vị trí rõ ràng trong các bộ phận hiện có và quản lý họ có thể là phức tạp. Kết quả là, nhiều tính năng hiện đại của phát triển phần mềm được phát triển để đơn giản hóa và thậm chí là loại bỏ tương tác với lập trình viên. FORTRAN được thiết kế để cho phép các nhà khoa học và người khác viết chương trình mà không cần sự hỗ trợ của một lập trình viên. Cú pháp tiếng Anh của COBOL được thiết kế để đơn giản đến mức quản lý có thể bỏ qua lập trình viên hoàn toàn. Phát triển dựa trên mô hình thác nước được sáng chế để tiêu chuẩn hóa và làm cho việc phát triển phần mềm mới trở nên thông thường. Lập trình hướng đối tượng được thiết kế để đơn giản đến mức cuối cùng tất cả người dùng máy tính có thể thực hiện kỹ thuật phần mềm của chính họ.
Mặc dù họ đóng một vai trò quan trọng—nếu không được đánh giá—nhưng kỹ sư phần mềm thường khó hòa nhập vào các bậc thang tổ chức của công ty. Vào những ngày đầu của máy tính, họ thường tự học và làm việc trên các chương trình mà họ tự mình nghĩ ra, điều này có nghĩa là họ không có vị trí rõ ràng trong các bộ phận hiện có và quản lý họ có thể là phức tạp. Kết quả là, nhiều tính năng hiện đại của phát triển phần mềm được phát triển để đơn giản hóa và thậm chí là loại bỏ tương tác với lập trình viên. FORTRAN được thiết kế để cho phép các nhà khoa học và người khác viết chương trình mà không cần sự hỗ trợ của một lập trình viên. Cú pháp tiếng Anh của COBOL được thiết kế để đơn giản đến mức quản lý có thể bỏ qua lập trình viên hoàn toàn. Phát triển dựa trên mô hình thác nước được sáng chế để tiêu chuẩn hóa và làm cho việc phát triển phần mềm mới trở nên thông thường. Lập trình hướng đối tượng được thiết kế để đơn giản đến mức cuối cùng tất cả người dùng máy tính có thể thực hiện kỹ thuật phần mềm của chính họ.
Trong một số trường hợp, các lập trình viên đã phản đối những thay đổi này, lo sợ rằng các chương trình như trình biên dịch có thể làm cho họ mất việc. Tuy nhiên, cuối cùng, những lo ngại của họ là không có căn cứ. FORTRAN và COBOL, ví dụ, đều chứng minh là những ngôn ngữ bền vững, có tuổi thọ cao, nhưng chúng không thay thế các lập trình viên máy tính. Nếu có gì, những đổi mới này giới thiệu thêm sự phức tạp vào thế giới của máy tính, tạo ra nhu cầu lớn hơn cho các lập trình viên. Những thay đổi khác như phương pháp phát triển thác nước làm cho mọi thứ trở nên tồi tệ hơn, tạo ra những quy trình bürocratic phức tạp hơn làm khó khăn việc triển khai các tính năng lớn. Tại một hội nghị do NATO tổ chức vào năm 1968, tổ chức tuyên bố rằng có một “khủng hoảng” trong kỹ thuật phần mềm. Có quá ít người để làm việc và các dự án lớn tiếp tục bị trì hoãn hoặc gặp khó khăn.
Với lịch sử này trong tâm trí, những quảng cáo rằng ChatGPT sẽ thay thế tất cả các kỹ sư phần mềm dường như chắc chắn là không đúng. Sa thải các kỹ sư và áp dụng trí tuệ nhân tạo vào việc phát triển tính năng bị chặn có thể dẫn đến thảm họa, sau đó là việc tái thuê những kỹ sư đó trong thời gian ngắn. Những đề xuất hợp lý hơn cho thấy rằng mô hình ngôn ngữ lớn (LLM) có thể thay thế một số công việc nhàm chán của ngành kỹ thuật. Chúng có thể đề xuất tự động hoàn thành hoặc phương pháp để sắp xếp dữ liệu, nếu chúng được khuyến khích đúng cách. Là một kỹ sư, tôi có thể tưởng tượng sử dụng một LLM để “vịt cao su” một vấn đề, đưa ra các gợi ý về các giải pháp tiềm năng mà tôi có thể xem xét. Nó sẽ không thay thế việc thảo luận với một kỹ sư khác, vì LLM vẫn chưa hiểu rõ yêu cầu thực tế của một tính năng hoặc các liên kết trong cơ sở mã nguồn, nhưng nó sẽ tăng tốc độ của những cuộc trò chuyện đó bằng cách loại bỏ công việc bận rộn.
ChatGPT vẫn có thể làm thay đổi thị trường lao động công nghệ thông qua kỳ vọng về năng suất lớn hơn. Nếu nó loại bỏ một số công việc nhàm chán hơn trong quá trình phát triển (và làm cho Stack Overflow phải đóng cửa), các quản lý có thể đặt ra nhiều yêu cầu hơn đối với các kỹ sư làm việc cho họ. Nhưng lịch sử máy tính đã chứng minh rằng những nỗ lực để giảm bớt sự hiện diện của nhà phát triển hoặc tinh giản vai trò của họ chỉ làm tăng thêm phức tạp vào công việc và khiến cho những người làm việc đó trở nên ngày càng cần thiết. Nếu có gì, ChatGPT có thể loại bỏ công việc nhàm chán của việc lập trình giống như cách trình biên dịch kết thúc công việc u ám của việc làm việc trong hệ nhị phân, điều này sẽ giúp những nhà phát triển tập trung hơn vào việc xây dựng kiến trúc thực sự của tác phẩm của họ.
Nhà khoa học máy tính Edsger Dijkstra một lần nhận xét, “Miễn là không có máy móc, lập trình không phải là vấn đề cả; khi chúng ta có một số máy tính yếu, lập trình trở thành một vấn đề nhẹ, và bây giờ chúng ta có máy tính khổng lồ, lập trình đã trở thành một vấn đề cực kỳ lớn.” Chúng ta đã giới thiệu thêm và thêm sự phức tạp vào máy tính với hy vọng làm cho chúng đơn giản đến mức chúng không cần được lập trình nữa. Không ngạc nhiên, việc ném sự phức tạp vào sự phức tạp chỉ khiến mọi thứ trở nên tồi tệ hơn, và chúng ta chẳng gần hơn việc để quản lý loại bỏ kỹ sư phần mềm. Nếu LLM có thể đáp ứng những hứa hẹn của tác giả, chúng ta có thể làm cho nó tăng tốc hơn nữa.
MYTOUR Opinion đăng bài viết của các độc giả ngoại vi đại diện cho nhiều quan điểm khác nhau. Đọc thêm ý kiến tại đây. Gửi bài viết ý kiến tại [email protected].
