Nếu biết điều mà chúng ta không thể thay đổi, thì hãy học cách thích nghi với nó! Lo lắng không giúp chúng ta giải quyết vấn đề. Lập trình viên sẽ làm gì khi AI có thể tự viết code?
Thời đại của Trí tuệ nhân tạo đã đến với chúng ta và có không ít nhà phát triển phần mềm lo sợ rằng họ sẽ không thể thích nghi để tiếp tục phát triển sự nghiệp của mình. Hãy cùng tìm hiểu cách AI có thể định hình ngành công nghiệp phát triển phần mềm, những kỹ năng nào sẽ có liên quan trong tương lai gần nhất và cách thích nghi với tất cả những thay đổi đó.
Sẽ là ngụy biện nếu bỏ qua những lo ngại của lập trình viên về tương lai nghề nghiệp của họ. Sự ngụy biện đó giống như ví dụ về trường hợp những người Luddite (Người không hiểu hoặc không thích công nghệ mới, đặc biệt là máy tính), họ cho rằng công nghệ mới không lấy đi việc làm vì nó chỉ thay đổi thành phần công việc trong nền kinh tế. Nhưng thực tế có rất nhiều các chỉ số vẽ nên bức tranh tương lai của các nhà phát triển phần mềm với những gam màu tối hơn nhiều.
Lo lắng ngày càng tăng
Theo một nhóm các nhà nghiên cứu tại Phòng thí nghiệm quốc gia Oak Ridge của Bộ Năng lượng Hoa Kỳ, có khả năng cao là AI sẽ thay thế các nhà phát triển phần mềm sớm nhất là vào năm 2040.
“Các xu hướng lập trình cho thấy rằng việc phát triển phần mềm sẽ phải đối mặt với một sự thay đổi quan trọng trong tương lai: sự kết hợp giữa học máy, Trí tuệ nhân tạo, Xử lý ngôn ngữ tự nhiên, Công nghệ tạo mã sẽ cải phát triển theo cách mà máy móc sẽ đảm nhận viết phần lớn phần mềm vào năm 2040, thay vì là con người” các nhà nghiên cứu cho biết.
Các nhà phát triển phần mềm lo lắng là điều dễ hiểu. Trên thực tế, gần 30% trong số 550 nhà phát triển phần mềm được khảo sát bởi Evans Data Corporation, một công ty nghiên cứu thị trường chuyên về phát triển phần mềm có trụ sở tại California, tin rằng những nỗ lực phát triển của họ sẽ bị Trí tuệ nhân tạo thay thế trong tương lai gần.
Theo Janel Garvin, Giám đốc điều hành của Evans Data, nỗi sợ hãi về sự lỗi thời do AI “ còn gây lo lắng hơn cả việc về già không có lương hưu, bị sếp đì trong công việc hay kỹ năng sẽ sớm bị lỗi thời.”
AI sẽ thay đổi quá trình phát triển phần mềm
Trong khi một số lập trình viên cam chịu số phận, hầu hết muốn biết chính xác AI sẽ thay đổi quá trình phát triển phần mềm như thế nào để họ có thể bắt đầu học các kỹ năng mới liên quan càng sớm càng tốt.
Andrej Karpathy, cựu nhà khoa học nghiên cứu tại OpenAI, hiện là Giám đốc AI tại Tesla, cho biết: “Phần lớn các lập trình viên trong tương lai sẽ không còn làm việc với các kho phần mềm phức tạp, viết các chương trình phức tạp hoặc phân tích thời gian chạy của chúng “. Nhiệm vụ của họ thu thập, làm sạch, gắn nhãn, phân tích và trực quan hóa dữ liệu để cung cấp cho các mạng lưới thần kinh”.
Karpathy đã đề xuất một quy trình phát triển phần mềm mới cho thời đại AI, được gọi là Phần mềm 2.0 và các thành phần chính của nó bao gồm xác định vấn đề và mục tiêu, thu thập dữ liệu, chuẩn bị dữ liệu, xây dựng các mô hình máy học, triển khai và tích hợp mô hình cũng như quản lý mô hình. Các nhà phát triển phần mềm trong tương lai sẽ tìm nguồn dữ liệu và tổng hợp các tập dữ liệu lớn để đào tạo các ứng dụng trở nên thông minh, thay vì sử dụng các kỹ năng viết code cứng nhắc mà họ vẫn từng mong muốn.
Các giải pháp như DeepCoder, được xây dựng bởi Microsoft và các học giả tại Đại học Cambridge, đã cho phép chúng ta xem trước bức tranh tổng quan quan về tương lai của phát triển phần mềm. DeepCoder có thể tạo một ứng dụng mới bằng cách dự đoán những thuộc tính mà ứng dụng phải có để tạo ra đầu ra (output) mong muốn từ các đầu vào (input).
Mặc dù giải pháp của Microsoft còn mang tính thử nghiệm cao, nhưng Trợ lý AI của Ubisoft, được phát triển với sự hợp tác của một nhà nghiên cứu của Đại học Concordia, đã được sử dụng trên các trò chơi Rainbow Six và Assassin’s Creed, hai thương sản phẩm chính của Ubisoft. Trợ lý ảo AI tự động xác định các lỗi khi các lập trình viên viết chúng và giúp các nhà phát triển tiết kiệm khoảng 20% thời gian của họ.
“Nó sẽ ảnh hưởng đến tất cả các nhà phát triển phần mềm. Tôi tin rằng trong tương lai chúng ta sẽ triển khai ngày càng nhiều công nghệ AI để giảm gánh nặng liên quan đến việc bảo trì trong các ngành công nghiệp phần mềm”, nhà nghiên cứu Wahab Hamou-Lhadj của Đại học Concordia cho biết.
Chú ý đến những thay đổi
Thay vì chấp nhận trở nên lỗi thời, điều tốt nhất mà một nhà phát triển phần mềm có thể làm hôm nay để làm chủ cuộc chơi đó là chú ý và để tâm đến những thay đổi đang và sắp diễn ra. Những thay đổi mà AI sẽ mang lại cho quá trình phát triển phần mềm là không thể tránh khỏi. Vì vậy, nếu các nhà phát triển phần mềm chú ý đến những gì AI có thể và không thể làm, họ sẽ có thể ưu tiên phát triển các kỹ năng liên quan để lấp đầy khoảng trống.
Nói cách khác, hãy đi trước AI một bước. Khi AI tự động hóa ngày càng nhiều những tác vụ lập trình cơ bản thông qua mạng thần kinh (như quản lý các kho phần mềm phức tạp, phân tích thời gian thực thi, viết chương trình phức tạp, v.v.), các nhà phát triển phần mềm được tự do hoạt động ở cấp độ cao hơn (như tìm nguồn dữ liệu để cung ứng, soạn thảo, thao tác, phân tích và trực quan hóa dữ liệu cung cấp và dữ liệu từ các mạng thần kinh đó).
Theo đó AI thực hiện các tác vụ mã hóa khó, tốn thời gian trong khi các nhà phát triển con người tìm nguồn và soạn thảo các bộ dữ liệu để đào tạo AI, đây được gọi là Phần mềm 2.0 . Khái niệm được đưa ra bởi Andrej Karpathy, cựu nhà khoa học nghiên cứu tại OpenAI và hiện là Giám đốc AI, Phần mềm 2.0 là mục tiêu cho quy trình phát triển phần mềm trong thời đại AI. Theo cấu trúc của Phần mềm 2.0, các nhà phát triển con người có thể tập trung vào xác định vấn đề và mục tiêu, phân tích dữ liệu, triển khai và tích hợp mô hình cũng như quản lý các ứng dụng AI.
Một ví dụ về giải pháp AI có thể bắt đầu thực hiện các nhiệm vụ tương lai được mô tả bởi Phần mềm 2.0 bao gồm DeepCoder của Microsoft. Công cụ AI này có thể tạo các ứng dụng mới và tạo mã hoạt động bằng cách tìm kiếm thông qua cơ sở dữ liệu mã khổng lồ, sau đó tổng hợp và sắp xếp lại các đoạn mã tốt nhất đã thu được. Mặc dù công nghệ của DeepCoder vẫn chưa hoàn hảo, nhưng các nhà phát triển tại Microsoft kỳ vọng AI sẽ có thể tham gia các cuộc thi lập trình trong tương lai gần.
Làm gì để thu hẹp khoảng cách kỹ năng?
Để thu hẹp khoảng cách kỹ năng và tồn tại trong ngành công nghiệp phát triển phần mềm ở Kỷ nguyên AI, bản thân các nhà phát triển phần mềm phải nhận ra và chấp nhận rằng các kỹ năng của họ sẽ phải thay đổi.
Theo một báo cáo từ trang tìm kiếm việc làm, ba công việc AI có nhu cầu cao nhất trên thị trường là nhà khoa học dữ liệu, kỹ sư phần mềm và kỹ sư máy học. Nhu cầu về những vị trí này và các công việc khác liên quan đến AI đã tăng hơn gấp đôi trong ba năm qua và dự kiến sẽ tiếp tục tăng với tốc độ tương tự.
Để có được các kỹ năng mà một lập trình viên cần nắm vững trong các dự án AI bao gồm: Toán học, Đại số, Giải tích, Thống kê, Dữ liệu lớn, Khai thác dữ liệu, Khoa học dữ liệu, Máy học, Điện toán nhận thức, Phân tích văn bản, Xử lý ngôn ngữ tự nhiên, R, Hadoop, Spark và nhiều kiến thức liên quan khác. Đây là những nền tảng kiến thức cần thiết đối với bất kỳ một nhà khoa học dữ liệu hay kỹ sư máy học nào muốn phát sự nghiệp của mình một cách bền vững.
Rõ ràng, hầu hết các nhà phát triển phần mềm hầu như không thể thành thạo tất cả kỹ năng liên quan đến AI, đặc biệt là trước tốc độ phát triển chóng mặt của lĩnh vực AI gần đây. Đó là lý do tại sao các kỹ sư phần mềm nên học cách thích nghi trong thời đại AI bằng cách hãy xem mình vừa là Chuyên viên (chuyên sâu) và là một Tổng quát viên (đa năng) và coi việc học các kỹ năng mới là một quá trình liên tục.
Có bề rộng kiến thức giúp bạn dễ dàng thích nghi và nhanh chóng đạt được kiến thức chuyên môn sâu trong một lĩnh vực cụ thể dựa trên nhu cầu thị trường hiện tại. “Những lập trình viên thành công sẽ sẽ là những nhà phát triển hiểu rõ nhất về sự phức tạp cơ bản của lĩnh vực của mình: dữ liệu nào là quan trọng, ảnh hưởng của sự không chắc chắn đối với việc ra quyết định, v.v.”, Todd Schiller , người đứng đầu về kỹ thuật tại MOKA, một công ty tư vấn công nghệ đột phá, cho biết.
Các nhà phát triển phần mềm sẽ không cần phải biết các chi tiết phức tạp của các thuật toán học máy mới nhất hoặc sở hữu khả năng sử dụng xuất sắc ngôn ngữ lập trình thời thượng nhất để làm việc trong các dự án AI, nhưng tốc độ cập nhật các kỹ năng về AI cần thiết và tốc độ phát triển lĩnh vực kinh doanh thường diễn ra không cùng nhịp với nhau.
Kết luận
Trí tuệ nhân tạo sẽ định hình lại hoàn toàn quá trình phát triển của ngành công nghệ phần mềm và buộc các nhà phát triển phần mềm phải học các kỹ năng mới để luôn phù hợp. Những người sẽ thích nghi thành công nhất sẽ được có được vô số cơ hội làm việc, nhưng quá trình này sẽ đòi hỏi bạn cần có một tư duy khác biệt so với phần đông các nhà phát triển phần mềm hiện nay.
(Nguồn tổng hợp)
Xem thêm bài viết:
9 Điều có thể bạn chưa biết về ChatGPT, chatbot thông minh nhất hiện nay
Robot AI đã có thể tự viết code, hỗ trợ từ 8 đến 12 ngôn ngữ
Dự án bí mật Alphabet’s X của Google phát triển công cụ dạy mã tự viết mã