程序員該未雨綢繆了!
導語:在過去的十年時間里,軟件開發行業已經發生了非常大的變化。過去,程序員需要在大學或工作中花費好幾年時間才能學習掌握一些編程知識,熟悉了解一些昂貴的服務器性能,而現在,只需幾周時間就能搞定一項網頁開發編程語言了。
基于人工智能生成的代碼,為整個行業帶來了顛覆創新,也讓我們處在了下一代范式快速轉型中,身處在這個拐點上,我們不得不說,未來網頁開發很可能會不復存在,以后甚至都不需要任何編程勞動力了。
“計算機想要在圍棋上擊敗人類,可能還要等100年!”——《紐約時報》,1997年
“圍棋大師被谷歌計算機程序擊敗!”——《紐約時報》,2016年
下面,就讓我們來看看當機器人取代程序員寫代碼,會帶來哪些范式轉型吧。
轉型一:WordPress
WordPress是在 2003 年 5 月 27 日發布的,在它豐富的插件和網站主題內容支持下,很多沒有技術背景的創業者無需編寫代碼,就能推出自己的網站,WordPress 平臺也因此很快便在全世界風靡起來。
雖然這個平臺存在一定的局限性,但是它依然占據了全部互聯網網頁開發 26.5% 的市場份額,那么剩下的 73.5% 的市場份額會是什么樣呢?讓我們再進入轉型二來做進一步了解。
轉型二:開源代碼、Node 和框架
Node 一開始曾被廣泛認為是一種玩具編程語言,但是它已經快速接管了網頁開發,并且培育出了一個異常龐大的開源社區。對于那些還不太熟悉Node 的人,先簡單介紹一下:Node.js是一個基于 Chrome JavaScript 運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。
Node.js 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設備上運行數據密集型的實時應用。Node 最厲害的地方,就是讓那些只開發客戶端代碼(前端網頁開發)的程序員,可以無需切換編程語言就能編寫后端代碼。
不僅如此,Node 已經構建了一個令人難以置信的龐大社區,很多人都在為開源做貢獻。現在,Node 基礎設施和開源軟件包都已經非常強大了,允許開發人員不僅僅去解決他們自己的問題,而且能夠構建出一套為整個社區解決問題的方法。如今,使用 Node 開發軟件產品就像是拼樂高積木,你只需花些時間把每塊“積木”連接起來就可以了。
轉型三:只需要一個應用程序接口,就能搞定 SaaS、BaaS、以及其他框架
你新開發的照片 App 需要面部識別功能嗎?如果你想要解讀人們在照片中的表情,又該怎么辦?所有這些問題都可以靠一個應用程序接口搞定,事實上,如今你能想到的一切東西,都有一個應用程序接口(出于所有集中性非技術目的,應用程序接口就像是另一種樂高積木)。
那么,這具體意味著什么呢?現在,任何一款軟件都能夠通過開源工具、或是帶有某些特定應用功能的應用程序接口開發出來。如果你給某位網頁開發人員兩周時間,告訴他們克隆市場上某款主流的消費者產品,他們至少可以使用相關工具,快速制作出一款基本版出來。
當然啦,開發一款應用程序和創立一家公司是兩回事兒,但有一件事不可否認的是,現在獨立程序員的生產力已經變得十分驚人了!當然,我們并不是說過去的程序員不行,畢竟現在的程序員也是站在巨人的肩膀上,才能做出一些成績。
我們現在處在哪個階段?
你需要一個網站?根本無需編寫代碼;你又需要一款高度定制的網頁應用,來為用戶提供一些專屬功能或服務?Node 程序包提供的“玩具編程語言”就能輕松搞定。你還需要一款移動 App?寫一個 JavaScript,然后就能從代碼庫里獲得一款安卓和 iOS 原生移動應用。
需要在你的應用里加入先進的機器學習技術?有應用程序接口來幫你搞定。你的公司找不到程序員?給 bootcamp 打個電話,他們有足夠的編程達人。這一切是不是聽上去都很不錯?但實際上,我們能做的也只有這些了。
如今程序員所接受的培訓內容,其實都是最終能被機器人所取代的,一些強大的自動化工具完全可以智能生成代碼。
未來,利用開源軟件包、強大的開發工具和混合框架,企業只需招聘一些畢業生,短短 4個月時間就能學會如何編程,這在今天是難以想象的,只要有了商業想法,任何人都能輕松打造出一款高性能、可擴展且可維護的應用程序。
目前,已經有公司(比如 codefree.co)開始提供相關服務,允許沒有編程背景的人無需寫任何代碼就能開發出一款個性化的網頁應用;還有公司利用機器學習技術幫助企業開發、設計東西。盡管現階段依然存在一些定制化問題,但相信隨著時間的推移,各種問題都會逐步解決。
我們要到什么時候,才能看到人人都會開發程序?
顯然,我們并不是說要讓每個人都能輕松開發程序,如果說有 1000 個程序員使用開源程序包(樂高模塊),總是要有一個人去開發源程序。我們需要教授人們如何構建樂高模塊,需要更多工程師,而不是那些“打補丁”的人。
所以從這個角度來看,如果你只想招聘一些畢業生,花 4 個月時間是根本無法做到的,別說 4 個月,可能 4 年時間都難以實現。
因此,我們需要鼓勵更多程序員提升自己的技能水平,深入學習人工智能、虛擬現實、增強現實、計算機視覺、以及機器學習等技術。這些都是未來程序員所必備的技能,但是今天已經起步了,凡是不關注這些技術的人或企業,幾年后可能會就要花更多成本去學習。
網頁飽和了,移動也飽和了,你能想到的商業想法,市場上早就已經有三、四款同類產品了。所以,現在擺在我們面前的,是要去嘗試解決更難的問題,掌握更強大的技能。
現在我們該怎么做?
教育是唯一的“出路”,相對于快速的市場發展速度,傳統教育機構其實已經非常滯后了。如果你是一個企業老板,可能現在得想想如何去培訓你手下的技術人員,在這方面,谷歌已經開始這么做了。
假設你是一個網頁開發人員,如果還是把重心放在 JavaScript、Ruby on Rails、或是 PHP 這些編程語言上,可能現在需要做些調整了。嘗試學習機器學習或計算機視覺技術,雖然可能目前不會立即給你帶來豐厚的收益,但至少能確保未來你不會被淘汰。