10 dự đoán về phát triển phần mềm năm 2018

Blockchain, NLP, AI, machine learning, serverless computingdevops sẽ thay đổi cuộc sống của lập trình viên ra sao trong năm 2018 này?

Các lập trình viên chắc chắn đang rất hào hứng trước những cơ hội mới vào thời điểm hiện tại, khi những công nghệ như blockchain, chatbots, serverless, machine learning đã bắt đầu đưa được vào các dự án thực tế. Năm 2018 đòi hỏi chúng ta phải linh hoạt hơn để nắm bắt các kiến thức mới trong hoàn cảnh vẫn phải chịu áp lực bàn giao code nhanh, chất lượng tốt.

Dưới đây là 10 dự đoán về những lĩnh vực chúng ta có thể sẽ phải làm quen trong năm 2018.

1. Sự biến mất của các buttons: AI trở thành UI

AI trở thành UI có nghĩa là các ứng dụng và dịch vụ đang sử dụng mô hình yêu cầu - phản hồi (request - response) đồng bộ sẽ dần biến mất.

Điện thoại thông minh thực ra cũng chỉ là thứ "IQ thấp", bởi vì bạn vẫn cần phải cầm chúng lên, cài đặt ứng dụng, yêu cầu một vài lệnh và đợi phản hồi từ chúng.

Với các ứng dụng thông minh thế hệ mới hơn, chúng sẽ mở đầu sự tương tác với con người thông qua các thông báo.

Phát triển điều này lên một bậc, các ứng dụng, bot, hoặc trợ lý cá nhân ảo sử dụng trí thông minh nhân tạo có thể hiểu được cần phải làm gì khi nào, vì sao, ở đâu và làm như thế nào. Và chúng sẽ tự động thực thực hiện viêc đó. Có hai ví dụ:

  • Ứng dụng quản lý chi tiêu sẽ xem xét các báo cáo tiêu dùng trước đó để có thể bắt đầu tự động thông qua 99% các báo cáo chi tiêu và chỉ yêu cầu xác thực của người dùng một vài giao dịch đáng chú ý.
  • Ứng dụng phân tích có thể tự hiểu những số liệu cơ bản, những câu hỏi thường được các doanh nhân đưa ra, những câu hỏi thường được các nhân viên trong doanh nghiệp thắc mắc, và đưa ra phân tích mới mỗi ngày mà các nhà phân tích có thể chưa nghĩ tới. Khi các tổ chức tập hợp được nhiều thông tin hơn, AI có thể giúp chúng ta học những câu hỏi có thể đặt ra cho dữ liệu.

Các lập trình viên cần tìm hiểu những loại dữ liệu nào là cần thiết cho ứng dụng của doanh nghiệp mình, những quyết định kinh doanh nào sẽ có lợi nhất từ những AI tiên phong này và bắt đầu thử nghiệm chúng.

Mã AI nhúng có thể dự đoán những gì người dùng cần, cung cấp thông tin và chức năng thông qua đúng phương tiện vào đúng thời điểm, bao gồm cả trước khi người dùng cần nó và tự động hóa nhiều nhiệm vụ mà hiện tại vẫn đang phải tự thực hiện bằng tay.

2. Machine learning được ứng dụng thực tế cho từng lĩnh vực riêng biệt

Machine learning đang chuyển đổi dần từ lĩnh vực khoa học dữ liệu sang phát triển ứng dụng chính quy bởi sự sẵn có của các mô đun đã được xây dựng từ trước ở các nền tảng phổ biến cũng như bởi nó rất hữu ích khi giải quyết các phân tích dữ liệu lịch sử lớn.

Với machine learning, những phân tích có giá trị nhất luôn đi kèm với bối cảnh cụ thể - những gì bạn đã làm trước đây, những câu hỏi bạn đã hỏi, những gì người khác đang làm, những hoạt động bình thường và bất thường là những gì.

Nhưng để có hiệu quả, machine learning phải được điều chỉnh và được đào tạo trong một môi trường riêng biệt theo từng lĩnh vực, bao gồm cả bộ dữ liệu nó sẽ phân tích và những câu hỏi nó sẽ trả lời. Ví dụ, các ứng dụng machine learning được thiết kế nhằm xác định hành vi bất thường của người sử dụng để phân tích an ninh sẽ rất khác so với các ứng dụng machine learning được thiết kế để tối ưu hóa các hoạt động của robot nhà máy, và chúng có thể rất khác với các ứng dụng được thiết kế để lập bản đồ phụ thuộc cho một ứng dụng dựa trên microservices.

Các lập trình viên sẽ cần phải hiểu rõ hơn về các trường hợp xảy ra trong lĩnh vực riêng biệt đó, để biết được các loại dữ liệu cần phải thu thập, loại thuật toán machine learning và các câu hỏi cần đặt ra.

Chúng ta cũng cần phải đánh giá liệu SaaS theo lĩnh vực riêng biệt hay các gói ứng dụng có phù hợp với dự án của mình hay không, với thực tế là cần có một lượng lớn dữ liệu trước đó để có thể chạy ứng dụng.

Sử dụng machine learning, chúng ta hoàn toàn có thể xây dựng các ứng dụng thông minh để tạo ra các gợi ý, dự đoán kết quả, hoặc đưa ra các quyết định tự động.

3. Tích cực sử dụng chatbots trong giao tiếp với người dùng

Một trong những vấn đề hiện tại khiến chúng ta thực sự mỏi mệt là việc có quá nhiều mobile apps với nhiệm vụ giống nhau. Ví dụ book vé xem phim, có đến 3-4 apps khác nhau, mỗi apps lại hỗ trợ những phương thức mua vé riêng.

Trong khi đó, có một cách tốt hơn để cung cấp các tính năng này, đó là sử dụng app phổ biến nhất trên tất cả các điện thoại: tin nhắn (messaging). Ứng dụng tin nhắn có 3 ưu điểm để có thể làm trung gian trong trường hợp này: xử lý ngay lập tức, có khả năng biểu cảm và có khả năng trò chuyện qua lại - mà ko cần phải training gì hết. Bên cạnh đó, nhờ sự phát triển của AI (trí tuệ nhân tạo) và NLP (xử lý ngôn ngữ tự nhiên) mà người dùng sử dụng Facebook Messenger, Slack, WeChat, WhatsApp v.vv.. có thể đặt câu hỏi và nhận câu trả lời từ những con bots thông minh.

Lập trình viên sử dụng dịch vụ đám mây có thể nhanh chóng tạo ra những con bots hiểu được ý định của khách hàng, thực hiện cuộc hội thoại, và phản hồi một cách thông minh. Hãy thử nghĩ đến việc bạn chụp ảnh một cái váy từ một bộ phim, sau đó gửi đến cho cửa hàng thời trang bạn thích, con bot sẽ thực hiện phân tích ảnh rồi đưa ra gợi ý về những chiếc váy giống như thế có tại cửa hàng đó. Thực sự là rất tiện lợi. Các nhân viên cũng có thể sử dụng bot để hỏi các thông tin về ngày phép, hay yêu cầu một chiếc laptop mới, và bot hoàn toàn có thể liệt kê ra được những chiếc máy thích hợp cho nhân viên đó.

(còn tiếp..)