計算機行業還能火幾年?
前幾天寫的一篇東西《老碼農的技術理想》,其中有這方面的思考,貼出來看看:
小時候,老師問我,你的理想是什麼?我不假思索說是工程師,於是長大之後果然成了工程師。
工作這麼多年,一直在思考工程師這三個字的意義,終於有一天恍然大悟,原來就是:用技術手段改進世界。
那麼,在軟體方面,目前的世界有哪些問題需要解決呢?有這麼一些問題可以思考:
- 現在整個世界的信息化程度是偏高還是偏低?
- 程序員的人數夠用嗎?
- 軟體行業的生產力是偏高還是偏低?
- 大部分軟體系統都可靠嗎?
我想說說自己對這幾個問題的理解。
雖然現在我們的生活與十年前相比,已經發生了巨大變化,比如智能手持設備已經非常普及,可穿戴設備也在蓬勃發展。十年前我們用手機收發簡訊或者郵件,瀏覽非常簡單而老土的wap頁面,但現在,絕大部分人的手機已經取代了電腦,成為日常生活中不可缺少的工具。
我們用手機交流,購物,欣賞影視,閱讀書籍,玩各類遊戲,尤其是飛速發展的移動購物和支付體系,使得我們能在任意場合購買心儀的物品,訂購旅遊服務和賓館,叫快餐,打車等等,生活非常美好,那麼,整個世界的信息化程度處於什麼級別呢?
我覺得,才剛剛相當於小學二年級,整個世界的信息化程度仍然嚴重偏低。從現在算起,往前10年,往後10年,這20年時間中,面向個人的信息化服務處於高速發展期,這個領域非常吸引眼球,因為它與每個人的生活息息相關。可是,另外有一些領域,卻非常需要發展,那就是傳統行業的信息化。
之前有不少傳統行業,進行了一定程度的信息化,但這個信息化僅僅能滿足自身運作的基本要求,當它與整個社會的潮流相對接的時候,就顯得非常落後,遲緩。比如說在網購這個大體系中,普通用戶所能看到的是商品展示,比價,下單的過程,但背後的核心環節卻是配貨與物流。
我還在上學的時候,有老師這麼說過,現在計算機行業非常火熱,很可能要飽和了,你們不一定非要從事這方面的工作。現在回頭看這句話,覺得很有趣,人真的很難有眼光看到未來。去年我入職蘇寧培訓的時候,孫為民副總講了當年一個決策失誤的例子。90年代末,公司統計發現全國空調的年銷售量達到數百萬台,覺得很可怕,這個行業可能要飽和,估計要再想辦法拓展別的商品經營了,但現在,全國空調的保有量為七億台,即使完全沒有新增,十年換一輪,每年也賣得出去七千萬台,當年憑什麼說這就飽和了?
所以我現在看程序員的狀況,仍然是供不應求,尤其是高端程序員,十分搶手。這個問題的背景就是全社會的信息化進程在加速,之前的程序員人數遠遠跟不上需求量。
那麼,如何解決這個問題呢?一方面是繼續培訓,促使更多新人來到這個行業,並且認真做下去,另外還有一些別的手段需要考慮。
我想追問一個問題:世界上懂業務的人多,還是懂技術的人多?很明顯,懂業務的人要多很多,什麼叫業務?其實就是行業常識,生活經驗。
比如說,一個有經驗的倉庫保管員,可能文化程度不高,理解不了軟體的運行原理之類,但一定對產品出庫入庫的流程非常熟悉,包括各種審批過程和異常狀況,但這些,程序員是不懂的。那如果要促進這個領域的信息化,必然要在兩者之間尋找一個結合點,程序員可以學業務,業務人員也可以嘗試參與軟體研發過程,目前來說,都是前者比較多,因為程序員相對來說還是比較年輕,學東西快些。但從整體社會效益來說,這其實是不利的,因為程序員是更稀缺資源,而傳統業務人員非常多。
之前見過一個問題:如何讓業務人員更好地參與軟體研發過程。這個問題的根本解決方法是DSL(Domain Specific Language),核心解決方案是二次開發平台。
什麼是DSL和二次開發平台呢,這兩個詞聽上去很高端,但其實大家有很常用的東西就屬於這個範疇,比如Excel,它提供了各種各樣的公式,還有VBA,使用這些東西的人絕大部分不是軟體行業的,Excel就是一種很成功的二次開發平台,公式和VBA就可以算DSL了。
很多時候這些東西還不夠直觀,我們可以看到一些圖形化的編程語言,比如Scratch,現在很多小學生的興趣班就會學,這些東西相對學起來就比較容易了,我們也可以做一些類似的抽象,以圖形化的方式讓業務人員能夠參與,比如流程配置等等。圖形化的東西,是最適合非技術人員理解的。
所以,要促進社會的信息化程度,最好是能夠想辦法把各行業的業務人員都拖進來一起搞。具體的分工大致是:技術人員和業務人員一起定義DSL,技術人員負責DSL的底層平台實現,業務人員負責使用它來構建業務模型和業務流程,甚至業務界面。
那麼,軟體行業的生產力是偏高還是偏低呢?我認為嚴重偏低。什麼叫嚴重偏低?如果以機械力量的變革來對比,軟體行業目前的生產力水平處於蒸汽機發明之前。也就是說,生產力遠遠沒有被解放,大家做的大部分東西將來是會被機械化的,不再需要這麼多人來做這麼重複的勞動。可能很多人會對這段話不滿,怎麼就重複勞動了,你說說我做的什麼是可以被機器替代的?
換個角度看,為什麼幾乎所有外行都覺得軟體貴呢?因為人力成本太高了,他們覺得,做出這麼多東西,應該是不需要這麼多時間。為什麼雙方的反差這麼大呢?
我覺得其中的關鍵點在於絕大部分工作的抽象程度嚴重不足,另外有很大一部分效率損失在編程平台或編程語言的不完善,比如Web前端。
從第一代到第四代編程語言,每一代都是損失一定運行效率,而大幅提升編寫效率。隨著硬體技術的發展,軟體編程必然越來越粗放,大的趨勢是不特別重視細節效率,只要沒有數量級的性能損耗。
所以我們可以預期,會有越來越多的人使用一些運行效率相對不怎麼高的語言或框架,只是為了提高單位時間的生產力。從老闆們角度想,也會明白,提升運行機器的性能,要比多雇幾個程序員便宜多了。因此,從整體趨勢看,追求細節性能的程序員們恐怕會離自己的理想越來越遠了,除非是在某些特定領域。
那麼,絕大部分軟體系統都可靠嗎?我換一句話來問:各位程序員朋友,如果你們住的房子質量跟你們正在做的軟體一樣,你敢住嗎?感覺大家都在笑,笑是什麼意思,我們都懂的。
那為什麼軟體系統的質量不容易高呢?我覺得主要原因是流程不完善。那為什麼不完善?需求容易變。為什麼容易變?是因為不論程序員自己,還是需求方,其實潛意識都認為自己做的東西是變更成本較低的。
試想一下,為什麼沒人在蓋高樓蓋一半變更需求?為什麼沒人修大橋修一半變更需求?甚至做衣服做一半的時候變更需求,理髮到一半變更需求,都會被人認為是不講理。但是在軟體領域,好像這倒成了普遍現象。
因為整個軟體系統的實現,都是虛擬的,看不見摸不著,並不消耗什麼物料,所以從這個角度想,變起來當然是容易的。但軟體系統的架構,其實也跟實體的沒本質區別,變更時候要考慮很多關聯因素,並不是就那麼孤立的看一小塊地方,當然,也會有一些不影響全局的變更。打個比方說,如果你在蓋房子蓋到一半,那變更外牆顏色肯定是要比變更窗戶大小容易的。要是想變得太多,估計只好拆了重來。
我見過不少公司是通過加強測試的方式來試圖控制質量,但個人覺得這種方式不划算,而且收效不高。要想很好地應對需求變更,很重要的一點就是不要有這個軟體一定不會改的想法,然後,從架構上做拆分,隔離,組件化等等,力爭做到即使要改,也只改某一塊的內部,不影響別的地方。
很多軟體公司,一方面不注重架構的設計與宣貫,導致變更的時候問題多多,程序員也不能很好領會架構意圖,一方面忽視整個過程中對架構的管控,認為架構只是最初那張靜態圖。
任何一種架構方案,都需要一個良好的管控機制。沒有哪個蓋大樓的只認真管設計圖紙,不控制施工過程。架構其實是跟施工過程嚴格相關的,架構並不是一張扁平的圖,而是一個立體的東西,作為整個系統工程的骨架。如果能在開發的時候看到這個骨架逐漸建立,血肉充盈的過程,對整個系統的成功把握一定會大得多,這也就是開發過程中架構管控的理念,具體實現要依賴於不同場景。
所以,將來的軟體開發方案,一定是會朝著幾個方向發展:
- 高生產力,單位時間生產效率更高,普通人員也可以參與
- 高可控性,整個生產過程更加完備可靠
有時候看現在的小孩子,會覺得他們很幸福,因為等他們這代長大,就不需要像我們現在這樣編寫程序了,那時候,編程已經成了一種令人習以為常的通用技能,就像現在的人用Office軟體一樣,所謂的編程,很可能已經不需要敲代碼了,而是圖形化,設置幾個參數就完事了。
原文地址,裡面還有一段06年寫的東西,算是回顧吧:https://github.com/xufei/blog/issues/16
歡迎轉載,保留上一行那個鏈接即可。
與其討論計算機行業能夠火幾年,不如將問題聚焦在:未來世界的行業格局將會是如何?以下這篇來自著名程序員霍炬的雄文,讓這個問題的答案不言自明。
為什麼你招聘不到程序員,以及軟體如何定義現實世界
原創2015-12-22霍炬歪理邪說
現在已經是2015年的最後幾天了。這一年裡面,互聯網創業從火熱到「寒冷「,但有一件事全年都沒有變化,就是大家都覺得招聘不到程序員。我沒有確切的數字知道2015年這一年程序員的薪資增長的比例,但是我確切的知道,在2015年,一個有3~4年工作經驗的年輕程序員,在北京和上海能拿到的薪水已經接近2010年盛大創新院給我的薪水了。要知道,2010年盛大為了創建創新院,給出的是業界頂級的薪水,而且那時候我已經有8年的工作經驗了。這不過是5年前的事,今天,3年工作經驗的程序員薪水已經到了這個水平。在中國,大概唯一增長率可以比的上北上廣房產的,就是程序員的薪水了。
很多人人根本拒絕相信這件事,不僅僅這個行業之外的人,甚至連這個行業之內的人也覺得非常不可思議。但所有人不得不面對的一個事實是:當你需要程序員的時候,會發現根本招聘不到程序員。那個「所有都準備好了,只差一個程序員就可以開工了」 完全不是笑話,我知道無數個項目,都是真的就差一個程序員了。
但是,他們就是招聘不到這個急需程序員。
還有很多人的看法是,過幾年程序員就好招聘了,現在只是泡沫時期罷了。甚至還有人認為,過幾年我們就不需要程序員了,因為有更多的工具可以幫助生成軟體。不好意思,這兩種想法都不是2015年才有的,從1995年,甚至1985年,這兩種看法就存在了。30年來,泡沫起了一輪又一輪,破了一輪又一輪,自動化工具也確實出了一個又一個,更多的平台也被建立起來,確實某種程度人,一些人可以「不需要寫程序」,也能 *開始* 進行互聯網創業。但是,幾十年來程序員的需求始終是上升的,符合需求,能寫出可用代碼的程序員從來沒好招聘過,這個職業一直處於一種古怪到近乎瘋狂的供不應求階段。回頭來看,就算是2008年金融危機的大崩潰時刻,全世界範圍內,程序員好招聘也只持續了半年。美國H1b簽證只有2008年沒用滿,之後每一年都要抽籤才能獲得,無數中國和印度的程序員急盼簽證。
「不需要寫程序就可以進行互聯網創業」,這個倒是某種意義上是實現了。不過並不是有自動生成軟體的工具,而是各種應用平台發展起來了。比如,一個專心內容創業的人,用微信公眾帳號就可以開始,一行程序都不用寫。但是不要忘記,這些平台背後,仍然是無數程序員的工作成果。就算是用微信公眾平台開始了創業,如果規模發展的大一點,終究還是要寫一些程序的,要麼是自己的App/社區,要麼是HTML5做的各種活動,或者是用微信SDK介面做的各種自動化功能。總之,早晚你還是要寫點程序的。如果換個角度看,像微信公眾平台這類應用,只不過是把過去沒有寫程序能力的人拉了上來可以有個開始,等其中的強者被篩選出來之後,他們又回到要雇程序員的境地。這麼一看,這些平台不僅沒有減少程序員的職位,反而擴大了需求。如果沒有公眾平台,可能很多創業者壓根到不了需要程序員支持這一天,也賺不到錢去養活一個程序員,現在,他們中的成功者終於可以活到這一天,加入競聘程序員的行列了…
這個世界對程序員的需求幾十年沒降低,按照我的觀點,甚至未來幾十年也不會降低,薪酬也只會持續上升。各種社交平台上,也會見到各種惡毒嘲笑諷刺程序員的人和段子(基本來自傳統行業,他們大概覺得自己一輩子也不需要好好的和程序員打交道吧),這些人顯然是不相信我這個看法的。無論相信不相信,眼前的情況就是這樣的。為什麼程序員會這麼難招聘,背後的原因是什麼?要回答這個問題,我一般會推薦對方看一篇文章,叫做《軟體正在吞噬整個世界》,這是2011年美國著名風投Andreessen Horowitz創始人Marc Andreessen寫的文章。今天看來,這篇文章的意義顯然被低估了,Andreessen寫過很多文章,但這無疑是最重要的一篇,也是對未來的指向最清晰的一篇。但別說2011年,就算是今天,也很少有人真正理解它的重要性。這篇文章並不長,看完我這篇,推薦找來再讀一遍,相信你會有新感受。
我一直非常推崇這篇文章的看法和遠見,但是,我覺得他用的「吞噬」(Eating)這個詞並不好,它沒有能精確體現真實情況,我更願意使用的詞是「定義」(defining)。「軟體定義現實世界」,這算是我發明的一個新詞。我這篇文章要寫的,就是關於軟體是何如定義現實世界的。
今年3月份的時候,我在杭州和一個朋友聊天,我們叫她夕總,是做傳統行業的。她很驚訝程序員為什麼這麼難招聘。我給她大致描述了越來越多的行業開始使用軟體來替代傳統人力勞動的狀況。她恍然大悟的說:「啊,我知道了,我家小區過去是個老大爺負責收停車費,現在變成了完全自動刷卡進入。所以,很多個老大爺被軟體替代了,軟體又需要程序員來開發和維護?」 這個例子找的非常準確,從一個具體的案例來看,就是這樣的。她敏銳的抓住了現實世界最基層的情況。我也繼續用這個例子做為背景說下去。
圖片:以前是這樣的
圖片:以後都是這樣的了…
當我們用一套停車場管理系統,替代了停車場管理員(那個老大爺)之後,整件事情改變了什麼?它並不僅僅是節約了一個老大爺的人力成本這麼簡單,僅僅節約人力成本的價值並不大,因為基層體力勞動的人力成本是相當有限的,節約20個老大爺的工資,也未必能比得上一個程序員的工資支出。
比節約一個人的人力成本更重要的是,我們用軟體來規範了停車場的行為,即所謂「定義」。在使用軟體之前,停車場管理員是有很大權利的,很多人都知道,給停車場管理員塞一包煙,他可能就會少收你20塊錢停車費。甚至很多停車場管理員會直接把停車費塞到自己口袋裡面,如果你沒要停車發票的話。停車場的運營是沒辦法監督這種行為,要監督,就需要付出巨大的人力,甚至冒很大風險。有了軟體系統之後,一切都不一樣了。不再需要去監督這種往自己口袋裡面塞錢的行為了,只要軟體沒有能被他們找到的漏洞,一切都變成了非常規範的行為。開車來的車主進入停車場的時候取卡,系統拍下車牌照,出停車場的時候自動計時收費,付錢之後停車場出口才打開,車才能離開。這個過程可以完全沒有人力參與,就算是保留那個停車場老大爺的職位來做應急工作,他的行為也是嚴格被軟體規範的。不交錢,停車場出口不打開,車就沒法離開停車場,這是一條被明確定義了的基本規則,除非暴力去破壞停車場設施,否則,一切都是被軟體管理的,人改變不了什麼。從此,整個過程中不會再有錢的損耗,停車場運營方會獲得更多收益。這些收益中的一部分,就變成了軟體公司的利潤,軟體公司利潤的一部分,變成了程序員工資。
這就是軟體企業為何有巨大盈利,程序員工資為什麼這麼高的原因。僅從這個例子看,軟體沒有創造新的價值,但是在若干傳統行業中,軟體奪回了一部分人本來不應該拿到的錢,把這些錢重新變成了利潤,程序員分享了這部分利潤。在這個停車場的例子中,按道理說,停車場管理員的收入只應該是一份工資,不包括偷偷塞到口袋裡面的停車費,但是如果沒有軟體,這種行為是沒法阻止的,一定會有很大一筆錢流到不應該獲得它們的人手裡。另外一方面看,在車主這邊,他們的行為也被定義了。過去很多人是願意接受10塊錢買一包煙,省20塊錢停車費這種設定的。但在軟體管理之下,這種利益交換沒機會發生了。在這個停車場的案例中,參與業務的兩方行為都被軟體重新規範和定義了。
整個過程可以這樣看:在軟體企業的幫助下,現實世界的資金流向被重新分配了。這就是「軟體定義現實世界」。軟體重新定義了社會規則,定義了人的行為。當然,目前軟體還只是體現了業務人員的意願,在這個階段,更確切的說法是:軟體幫助人們重新定義社會規則。
這只是個開始。我們站的高一點看這個已經被軟體接管了的停車場。你會發現,關於它的細節都被隱藏了,你只知道它存在著介面(Interface)。所謂介面,就是對資源的一種抽象,我們知道它提供什麼,比如在這裡例子中,可能是停車場有多少空車位,已經停有多少車,每天有多少收益,停車場的位置在哪…等等,具體的細節,被裝進了一個黑箱子裡面,我們不再關心它。比如,一個軟體管理的停車場還有沒有看車老大爺,這就算細節,在這種視角下,我們不再關心這個人是否存在,也不關心他在做什麼,因為已經用軟體定義好了他的行為,這時候我們只關心提供結果的介面即可。
在軟體世界中,知道了介面,就可以使用這一份資源。從此,我們把這個停車場可以看作軟體世界裡存在的一個單元(Unit),剛才說了,它的現實狀況已經被裝進黑箱子屏蔽掉了。如果你只有一個這樣的單元,它只能用來規範基本行為,但如果你在相鄰街道再有一個這樣的「停車場單元」,這時候就能開始有一些新的變化了。比如,停車場單元A已經幾乎停滿了,但停車場單元B還空著一半車位,這時候就可以通過軟體來調整資源,讓車主盡量往停車場B停。具體手段有很多,比如通過智能手機發送一條消息,告訴正在開來的車主,停車場A要排隊10分鐘,停車場B排隊1分鐘就可進入。自然可以分流一部分人到停車場B。甚至是把停車場B的停車價格降價10%,吸引更多人前往。這些實時的,根據資源剩餘情況的動態配置,利用傳統手段是不可能做到的。一方面是傳統手段沒法快速反饋信息,另外一方面,傳統方式的審批決策流程過長,要降價總要有個負責人批准一下吧?從而讓實時的動態調整變得不可能。但在一個被軟體定義的世界裡面,是可以做到的。在這種模式下,如果我們再屏蔽掉具體的引導辦法(降價,排隊時常通知之類),甚至可以把A和B兩個停車單元合併成一個看,即,在軟體層面上,我們有了一個更大的停車場單元。
再繼續下去,如果有更多的資源具有了介面,他們之間還可以發生什麼交互?比如,兩個停車場旁邊有兩個規模和品質相似的餐館A和餐館B,它們也具有了介面,軟體世界裡面,我們抽象出餐館單元A和B,知道它們的座位有多少空餘,知道今天廚房有什麼材料,知道價格…那麼,停車單元A報告自己已經滿了的時候,這時候餐館B是不是願意暫時降價10%來吸引更多客源?如果餐館B通過降價,成功把自己空餘的資源賣掉了,他是否願意分享一部分利潤給停車場,以及分享一部分利潤給幫助進行資源配置的軟體運營方?
這些都是會在未來發生的事情。越來越多的現實世界資源通過一個介面,接入軟體世界,成為一個抽象的單元,它們會直接發生相互的作用,這就是我們多年所說的「智能化」。所有的這一切,最終都需要軟體實現。把一個現實資源抽象成介面這件事,在軟體行業稱之為「虛擬化」,一個60年代軟體行業就使用的概念。通常這個詞被用於雲計算行業,雲計算產業在真正的物理計算機上虛擬出了計算機、路由器、內存…把這些資源彈性分配給需要的用戶使用。但實際上,現實世界的一切都是可以通過這種方式被虛擬化的。這就是未來被軟體定義的現實世界。對於這樣的世界,如果找一個更容易理解的例子,最適合的是遊戲。未來的一切都像即時戰略遊戲所表現的那樣,如果你玩過星際爭霸,大概會記得拿滑鼠點一下,派出一個SCV去採礦,用滑鼠點一下工廠,坦克就開始被生產出來。在這個過程中,操作者只需要知道點滑鼠下達指令,之後收穫指令的結果。點一下滑鼠,幾分鐘之後得到一輛坦克,至於工廠裡面具體如何生產一輛坦克,SCV如何獲得礦石,這些細節被屏蔽掉,不用在關心。將來現實世界,傳統行業的一切都會變成這樣,甚至連下達指令的(玩遊戲)的這個操作者早晚也會被軟體替代。
我並不是在寫科幻小說,在今天,很多行業已經實現了類似的效果。比如航空業,這個行業裡面很多部分已經是高度虛擬化的了,他們已經可以用一個指揮系統調動各種地勤和支持資源去完成航空行業運轉的各種流程。當然,他們也需要好多程序員來開發和維護這個系統…
說到這裡,推薦一部非常符合這個主題的動畫片,叫做《夏日大作戰》,這部2009年的動畫用圖形化和更易懂的方式描述了這種未來的場景,非常好看。這是2010年,當時還在九城工作的布布推薦我的,我們都非常喜歡它,也一致認為這就是未來。(布布這個人也在笑來關於比特幣的文章裡面出現過,他跟笑來說不要挖礦,要花錢去買比特幣…是一個非常傳奇的傢伙)
圖片:夏日大作戰
我們再站高一點,看之前描述的場景。現在我們有了若干的資源單元,他們分布在不同的行業,這些單元已經被軟體定義好了,我們看作是黑箱。在軟體之下,又定義了無數具體工作人員的行為。剛才的例子裡面,除了停車場管理員,還有廚師,服務員…沿著這個思路繼續想,還會有給餐館進貨,供應原材料的供應商,維修停車場設施的公司…所有這些,會會被虛擬化成軟體世界中的一個單元。然後是各種被提供服務的人(所謂用戶),他們有接收信息的方式,大到計算機,小到智能手機,或者各種嵌入式系統,比如特斯拉電動車駕駛艙裡面的那塊大屏幕…一個使用手機的用戶,或者一輛特斯拉,同樣都可以被抽象成一個帶有介面的資源單元。所有資源單元的行為,都是被軟體定義的,他們之間的交互方式和可能產生的結果,同樣是被軟體定義和調配的。這其中的每一層,每一部分,都需要大量程序員的工作。越來越多的現實資源被虛擬化,也就產生了更多的交互和更多的可能性,這些一樣需要程序員去實現。今天,人類社會被虛擬化成軟體的資源還只有極少的部分,我沒有具體統計的數字,但大家只要想想自己每天的現實生活所需所用,至少能有個大概的感知,恐怕被虛擬化的資源連1%都不到。未來的空間有多大?幾乎是無限量的大。
現實世界能被虛擬化到什麼程度呢,我之前幾次推薦過科幻小說《雪崩》裡面描述了未來的世界只剩下三種職業:娛樂業、程序員和Pizza快遞員。這本寫於90年代初的小說,早年看起來非常震撼,今天看起來…覺得他還不夠極端。因為現在我們已經確知了,Pizza快遞員的工作會被無人機改變,娛樂業會被VR/AR改變。最後乾脆現實世界只剩下了程序員這一種職業…軟體並沒有吞噬掉現實世界,而是重新定義了現實世界的所有資源。
圖片:雪崩封面
所以,今天一切關於軟體/互聯網泡沫的看法都是過時的。現實世界的虛擬化已經快到了相當的程度,我們真的需要大量的程序員,未來仍然需要,有多少都不夠用。因為程序員職業缺口太大了,早就不是有錢就能招聘到的了,甚至一個程序員因為公司要打卡,就會選擇另外一家企業,因為他們可選擇的餘地實在太大了。很多企業遠遠沒意識到問題的嚴重性,而聰明的企業,已經在忙著做「企業技術文化」工作了。如果你不是BAT,又不是一個很酷的新公司,程序員們根本對你沒有興趣,到這個境地,花別人一倍的錢也未必能僱到人,所以就需要做技術文化工作,去宣傳我們也是很酷的,我們也是能改變世界的…從而不至於在這種競爭中落後。
最近一段時間,我周圍很多其他行業的朋友都跑來問我,是不是他們應該學寫一點程序。我通常都回答,只要你有興趣,學的下去,那就當然應該。就算不能成為職業程序員,在這個軟體定義一切的行業裡面,理解程序如何產生,理解程序員如何工作,那就一定會有一份更好的職業機會等著你。為什麼不學呢?
以上這些,就是難以僱到程序員這種狀況產生的基本面,因為這個職業缺口確實太大了,未來這種職業缺口不僅不會減少,毫無疑問還會繼續擴大下去,甚至可以誇張一點的說,人類世界現代化的速度,很大程度被程序員數量不夠制約…這個話題會是一個系列,下面還有好幾篇,關於程序員、關於創業、關於工程…敬請關注。
順便再推薦閱讀我年初寫的文章 「人類的未來註定灰暗」,鏈接我放在文末 ,這篇文章同樣是說這個話題,只是更科幻一點。
如果你讀完這篇文章對程序員這個職業發生了興趣,無論是想學一點,還是想理解他們多一點,推薦訂閱漫畫公眾號《神秘的程序員們》。這部漫畫是我和西喬多年經驗的總結,等你以此為樂,能理解每一期漫畫裡面包含的幾層梗和彩蛋的時候,對這個行業的理解就已經非常深了。不可錯過,掃碼關注。
對了,這應該是我今年年底最後一篇文章了。所以在此提前祝各位朋友,各位讀者聖誕快樂,新年快樂。感謝大家2015年的關注,就算我更新這麼少也沒退訂…真是太感動了。謝謝大家。
我們2016年見!
參考備註:
《無論強人工智慧能否出現,人類的未來註定灰暗》
標題圖:Image used under Standard license from http://Shutterstock.com (這張圖是我們付費購買的,轉載也可直接使用,不用換掉它)
譯言翻譯的中文版《軟體正在吞噬整個世界》:譯言網 | 軟體正在吞噬整個世界
華爾街日報英文版「Why Software Is Eating The World」:http://www.wsj.com/articles/SB10001424053111903480904576512250915629460
本文來自霍炬的微信公共帳號「歪理邪說」,用微信添加 wxieshuo 公眾號,即可訂閱。轉載必須保留作者、公共帳號信息,必須與本文嚴格一致,不得修改/替換/增減本文包含的任何文字和圖片,不得擅自增加小標題、引語、摘要等。除特別聲明和單獨授權,本公眾號一切內容禁止包括但不限於轉載、摘編的任何應用和衍生。
站在現在往回看,如果讓我們穿越回蒸氣革命或電氣化革命的初期,然後有人問:
「機械革命還能火幾年?」
「電氣化革命還能火幾年?」
答案顯然再清楚不過:會一直火下去。
原因?「熱機/電動機+能源」的效率比人力高得多。
站在現在往後看,用「電(的)腦」 替代 「人(的)腦」 的行業,還能火幾年?
答案也顯然再清楚不過:會一直火下去。
原因?「電腦+能源」的效率在越來越多的方面比人腦高得多。
顯然,這種替代人腦的過程,遠沒有達到飽和,甚至還在等待下一次技術突破的再洗牌(如更強的人工智慧技術)
-------------------------------------------------------------------------------------------------------------------
但是,以上的邏輯並不適用於正在從事或自認為正在從事「計算機行業」的所有人。
機械革命並不會讓操作蒸汽機的工人變得長期穩定高大上。
電氣革命並不會讓流水線上的工人變得長期穩定高大上。
且兩次革命都有很清晰的發展路徑:隨著革命的演進,行業對頂端人群的技能要求越來越高,同時對行業底層的從業者技能門檻卻越來越低。
而廣義的「計算機行業」,回想我們圍繞 「1語法 -- 2演算法 -- 3編譯 -- 4對應處理器的彙編 -- 5晶體管的二進位執行」 這一過程的演進,應當如何描述?
我猜想,題主問題中的「火」,恐怕跟過程4和5關係都不大,甚至跟過程3的關係也不大,甚至跟過程2的關係都不大,而主要是圍繞過程1(和2)的。
可過程1的發展方向是什麼?越來越簡單,越來越自動,是不是?
可過程2的發展方向是什麼?少部分真正的計算機科學家/工程師向前推進,「產業工人」拿來用,是不是?
而說到「門檻」,必定涉及到「難度」。
在過程5上完成變革,極其困難(如量子計算)
在過程4上完成突破,很有挑戰(如新的CPU架構)
在過程3上有所前進,基本上也是科研學術群體做的事兒
在過程2的新創(而不是應用)層面有所建樹,性質也與3類似
結果就是過程1和對過程2的應用的難度越來越低。
同時正在發生的事情是,對於過程1和過程2的應用,中美等大國都在舉國地「基礎教育化」和「技工化」。
結果會是如何?
-------------------------------------------------------------------------------------------------------------------
朋友圈子中有相當多的廣義「計算機行業」從業者,且是偏技術的從業者(偏產品的從業者是另一回事兒,他們的「火」是基於人的需求的,而不是技術的革新的)。其中有不少,已經完成了相關領域的博士階段學習,或者是博士在讀中。而其中已經工作或創業了的,其工作性質也充滿了科研/學術的特性。
如前所述,計算機行業會一直火下去。
於是,這群人也會一直火下去。
說到底,他們是這個一直會火下去的產業中的「科學家/工程師」,而不是這個產業中的「產業工人」。
所以,題主的這個問題,不如換一個更為精確的問法:
計算機行業中的「產業工人」之高薪現狀,還能火多久?
對此,我個人的觀點確實是「火不了多久了」。
如果非要我給一個時間尺度,拍腦袋說,等當下的中學生將來批量步入職場的時候,也就是結束了。
-------------------------------------------------------------------------------------------------------------------
於是,有關這個話題,利益相關者們最該思考的話題,並非「計算機行業還能火多久」,而是,「在計算機行業中,我到底算是科學家/工程師呢,還是只是個產業工人」。
-------------------------------------------------------------------------------------------------------------------
引申話題:未來的高端職業方向在哪裡?
這個話題過於大,我自己也沒有想得很徹底完備,姑且分享一下最為粗略的體會好了。
未來的高端職業方向,有且只有三個:
1,從無到有的商業(只要人類有需求有慾望,亘古不變)
2,廣義計算機行業的科學家/工程師
3,在強人工智慧到來之前,涉及人的「體驗」、「感受」、「主觀判斷」、「綜合考量」的職業
換一套描述方法,還可以這麼總結:
1,企業家
2,超硬的硬技能
3,超軟的軟技能
用一句話來總結2和3就是:
未來世界的發展方向很明確 -- 不夠硬的硬技能和不夠軟的軟技能的批量被淘汰。
計算機行業中的產業工人,即入門級碼工,即典型的「不夠硬的硬技能」。
而我所在的金融行業,這樣的例子也很典型:我並不建議任何有能力從事其他行業的個人,依然要努力朝著「金融分析師」,特別是更偏技術的「金融分析師」的職業方向發展。
同時,因為個人是CPA,對此行業也算是有些感受:不久的將來,「審計」這個行業會整體消失,起碼絕對不會是今天這個樣子。而「會計」這個行業,或者更廣義的「財務」,大團隊會越來越被少數專家所替代,而不再會存在成規模的基層從業者。
-------------------------------------------------------------------------------------------------------------------
人群中的大多數所能擁有的技能,註定會是「不夠硬的硬技能」或「不夠軟的軟技能」。而既然這樣的技能會被成批量淘汰,那將來的社會結構會發生什麼樣的變化?
這恐怕是個比前一個問題還大得多的話題。
這裡姑且也拋磚引玉談個個人觀點好了(僅是觀點,並非論點,故不提供論據與論證)。
我依然堅信,目前這種生產力聚集的趨勢,在中長期不會導致財富的巨大兩極分化。一方面,經濟要循環,既要有生產者,又要有消費者,不可能只是擁有生產力的小群體自己跟自己玩兒;另一方面,哪怕在古代,人數代表的壓倒性民意,也是個生產關係的決定性因素,更不用說當今這種左派玩兒得越來越過頭的所謂「民主與文明」的時代。
於是最終的平衡狀態會是如何?在經濟層面,越來越多的財富由越來越小的人群所創造,同時,社會的轉移支付規模將會越來越大。而在文化層面,大比例的生產力劣勢人群會選擇「吃紅片」,沉溺於終生的簡單享受中;而小比例的生產力優勢人群會選擇「吃藍片」,更多地基於趣味和好奇,帶著人類科技文明向前走。
但最後這個問題,終究是個哲學問題,我就不再多扯淡了。
至於強人工智慧實現的那一天,個人始終的觀點是:我們人類終於完成了主動的進化了,於是狹義生物本質的人類就可以徹底自然消亡了 -- 強人工智慧,本就是人,更是真實的生命。
-------------------------------------------------------------------------------------------------------------------
個人硬廣(沒興趣的,可以立刻停止閱讀了)
2016年7月中旬開始,會在國內周遊一個半月左右,全國各大主要城市應該都會去。有興趣結識各路志同道合和/或有趣的朋友,最好是 科技行業 或 金融/諮詢/財務行業的從業者,或者有廣義全球資產配置潛在需求的文豪土豪(僅針對美國)。與以上標籤無關的文化藝術領域的怪咖神經病或腦洞大開者,也很有興趣結識。
出於「後生晚輩跪求指導」的自我定位,以及對當所謂「人生導師」的本能反感,雖然年齡不限,但希望結識的最好是已經繳納過並長期穩定繳納個人所得稅的朋友,或者已經在創業的朋友,望理解。
私信即可。這個問題要反過來看:
1. 未來會有多少東西可以不依賴計算機。
2. 未來會有多少人工會被智能系統取代。
第二個問題,在可見的未來,工業機器人,家政機器人,無人駕駛,自動點餐,自動售貨,正在慢慢取代流水線工人,家政,司機,服務員等職業。大規模農業中,自動化系統的作用也越來越大。隨著生產效率的極大提高,娛樂業所佔的比重也越來越大。人們也花費越來越多的時間在娛樂之中。但是娛樂業更是和計算機系統緊密相連。不管是存儲,傳播,光影,音效,後期,版權控制,都需要計算機系統的處理。這個趨勢越來越大,引用某極客的名言,任何超過90秒的重複勞動,都應該用程序代替。
隨著社會的發展。幾乎所有的行業都要和計算機緊密相連。會有越來越多的重複性勞動會被自動化系統所取代。計算機行業的未來只會越來越大。直到幾乎所有的非創造性可重複勞動都被自動化系統所取代。那時候,可能不會再有更多的需求。但顯然,現在離那個時代還很遙遠。
CS普通畢業生自帶三倍收入光環這個標準看,那還火多久更多取決於中美央媽。
CS作為工程學前沿的話,還有很久很久路可走。現在寫程序和百年前工程師用榔頭敲一個飛機出來還是很像的,流程化的地方有,但更多還是看工程師/程序員靈感。
意味著很長一段時間CS方向中位數還是會高於社會平均。
很久以後,寫程序的鐐銬會越來越多,程序員議價能力才會下降。就像現在的傳統行業,不是特別重要的工程,按著規範堆積木就差不多了。這個時候只有極少數有資格參與這些重要工程的仍然高收入,剩下的回歸社會平均。其實IC和軟體業已經有這個跡象了。
我喜歡Python也是因為它暗合這個歷史進程,對於寫中淺度代碼很友好,而且可以預見會更友好。
不過那一天我們都已經老了,只管投票退歐就是了。讓年輕人去操心吧。
大概就想表達三個意思。
三者重要性依次遞增。
一是,「計算機行業」嚴格來講應當是指製造、銷售計算機的行業。
以電為例是最極好的。
電力化是人類技術水平的巨大進步。你想到的,想不到的,幾乎各行各業的效率都被電氣化帶來了巨大的提高。當電力變成一種基礎設施後,這個世界越發離不開電,但是,電力行業卻不再是當年那個最火熱的行業,也不再能給這個行業的僱員數倍於平均值的高薪水。
是的,微軟、谷歌真的用了很多電,但我們不會再覺得微軟、谷歌是電力行業的巨頭。
題主指的計算機行業的熱潮其實也漸漸以計算機為起點遷移開來了。
熱潮最初是肖克利半導體實驗室,然後是仙童半導體,因特爾,然後惠普,IBM,然後微軟,然後谷歌,然後臉譜。「計算機行業」最酷的公司從物理學家變成了哈佛的輟學生,從關注領域晶體管、半導體變成了社交網路。從微軟開始,這條產業線上的王者就不算名副其實的「計算機行業」了。
二是,說這個行業能一直火下去的人雖然不一定年輕但還是太年輕了。
一個行業火不火的關鍵是什麼?
是重要性嗎?
從來不是。
三十年前的中國,在油糧站有個飯碗是讓人艷羨的工作。
三百年前的中國,販鹽是無本萬利的關係國家「核心利益」的行業。
但現在都不是了。
儘管鹽、油和糧依然有無可替代的重要性,但都不再是什麼珍貴的資源了。
它們的作用變成一種廉價普及的基礎服務。它們不再是被少部分人因為壟斷資源或技術壁壘控制的珍稀資源了。
最開始,電力作為一種新興技術是被少部分人掌握的技術資源。
這些人開的公司都叫電氣公司。
後來電本身不再重要,重要的變成了以電為基礎的衍生技術。
電氣公司變成了,發電站(真正的電力公司)、照明公司、電話電報公司等等。
「計算機行業」也一樣。依賴計算機、軟體、互聯網的行業會越來越多,
我們能想到的每一樣物品都可以通電,我們能想到的每一樣物品也能連接計算和網路。
但是它們會在計算和網路構成基礎設施後演化成新的行業。以計算和網路為基礎的衍生技術的新行業。
技術產業的興亡衰替是亘古不變的規律。
妄圖坐在浪頭就不下的人都在做春秋大夢。
三是,這個行業雖然不會一直火下去,但計算機科學會在相當長(超過我們有生之年的長度里)都是一個極好的專業。
因為計算機科學正在變成一個非常有生命力的核心學科。
人類歷史上其實有很多學科都名噪一時,但是能像數學、物理學一樣保持長久的生命力、能吸引一代又一代最傑出的頭腦的學科實在鳳毛麟角。
儘管歷史還很短,但我相信計算機科學會加入數學物理的俱樂部,吸引一代又一代傑出的年輕人。
數學家和物理學家大約自牛頓時代開始起分道揚鑣。近代科學體系逐漸建立,物理學成為基礎科學的內核和新技術的理論基礎。在這個時間點上,有非常多的物理背景學生在進入化學、生物領域後有出色貢獻;反之則不然,化學、生物背景的學生進入物理領域很困難。從歷史來看,物理學的邊界在不斷拓展,在吞噬化學、生物學的知識邊界。在技術更新的時候,也是物理學家在研究熱功當量、內燃機原理(後來交給了新學科Mechanical Engineering的人),物理學家在研究晶體管(後來交給了新學科Electrical Engineering的人),物理學作為基礎科學的核心學科也一直站在技術創新的最前沿。
我觀測到計算機科學已經開始發揮著類似的作用了。
計算機科學背景的學生可以進入很多領域,在無論是化學、生物、醫藥等基層科學還是軟體、機械、航空航天等工程科學都有特別的競爭力。計算機科學的知識體系都是有價值可移植的。我見過很多計算機科學背景的科學家在進入其他領域也有突出的表現。我簡單羅列一下,計算神經學、計算生物學、化學模擬、材料模擬、藥物模擬等等等等。
甚至在物理領域,計算機科學背景的科學家也顯示出特別的競爭力。(當然,從物理進入計算機科學的人也不遑多讓,比如姚期智,物理學本科博士,再進入計算機科學領域拿到博士學位,最後獲得圖靈獎。)如果有一天,一位計算機科學背景出身的科學家獲得諾貝爾物理學獎,我不會覺得很奇怪。
而且,計算機科學也會像物理學一樣,站在技術的最前沿,貢獻基礎理論(比如計算方法、機器學習),也貢獻技術發明(比如計算機視覺、自然語言處理。自動駕駛)。我相信在計算機視覺、人機交互等領域成熟之後,部分比較獨立的領域也會脫出計算機科學冠以某種Engineering的名字,比如Intelligence Engineering. 就像曾經脫出物理的那些Engineering.
物理學/計算機科學與數學的關係也很類似,它們原本都與數學是一體的,它們都在依靠數學模型解決各種基礎的問題。這兩個學科極具競爭力的知識體系都很方便進入基礎科學和工程科學。當然,也都容易進入金融領域。你可以想一想金融領域有多少數學、物理學、計算機科學背景的人。
所有把計算機科學讀成怎麼寫軟體的人,只把計算機科學當成普通的熱門專業的人,那你們就錯了。計算機科學和曾經熱過的生物或通訊都很不一樣。
我都想說,
你們誤解了計算機科學真正的優雅和力量。
是的,大多數讀CS的同學都進入軟體工程行業了,但這是歷史進程的問題。這不是說計算機科學就是教會學生寫軟體碼代碼。現在還是Software Engineering的浪潮罷了。而浪潮必將落下。
但計算機科學是可以造起新浪潮的學科,這不AI-Driven的時代正在來臨。後面?當然還會有機會的。;)
所以說,真正能歷久彌新、堅如磐石的是計算機科學,而不是「計算機行業」(更不是寫APP寫網站的碼農)。
今時今日,你問我支不支持年輕人學計算機科學,我是支持的。
它能完成時代浪潮賦予的使命,也有經得起時間檢驗的生命力。
一點微小的看法,謝謝大家閱讀。
還有一個夏天的世界,留給喜歡Summer的你:summer-clover(個人公眾號)。
很多人投身/轉入CS行業的想法是:現在CS大勢這麼好,以我弱逼一般的學習能力和渣渣技術水平,能否幾年後借著東風混到一個德不配位的高薪?
而另一些人的想法是:只要是拼真本事的地方,老子就能贏。
對於後一種人,計算機行業會一直火下去;對於前一種人,CS會恰好在他們畢業的那一年迎來史上最殘酷的嚴冬。在未來的數十年里,CS的就業(其實更應該叫Software Engineering,但還是習慣稱為CS)可能會因為金融危機或者泡沫破滅而暫時衰退,但長遠來看會一直火下去。好比當年互聯網泡沫破滅後哀鴻遍野,但才十年不到的時間當年的從業者就在新的移動互聯網革命中賺了個盆滿缽滿,隨便就是幾十萬上百萬美元的期權。CS火的原因很簡單,沒有第二個行業像CS一樣,一可以搶別的職業的飯碗,二可以創造出新的需求。
搶別的職業的飯碗體現在Programming會在就業者的skillset中越來越重要,因為從事大量重複性的工作的就業者在很大程度上都可以被搞CS的替代,機器替代人力這種事情在歷史上已經有過足夠多的先例了 ,當機器越來越強大,需要操作機器的勞動力就越來越多。打個比方,一個給數車寫代碼的熟練工可能能達到3個操作普車的熟練工的生產效率;一個熟練使用VBA的文員處理文件的能力可能是5個普通文員之和;一個強大的OCR演算法可能需要一個組10個人來設計並實現在嵌入式系統上,但這個系統可能會替代掉1000個識別員甚至更多人的工作。
創造出新的需求主要得益於半導體業的進步以及架構界的不斷創新,使現在的晶元性能越來越強功耗越來越小。移動互聯網革命的爆發正得益於此;另一方面,過剩的計算能力導致人們可以用速度來trade off效率(比如非常適合prototyping的Python),拉低CS就業門檻的同時創造了大量的財富和需求。如果人類的計算能力進一步提高,像MS的HoloLens這樣的設備可能真的會出現在人們的生活中,那時開發新的framework的需求以及開發運行在上面的App的需求會創造更多的就業機會。
P.S. 拋開就業說下為啥CS這麼NB,歸根到底是因為CS作為一門純理論,使得人類可以用各種編程語言來formalize並在一定時間和空間內(複雜度取決於問題的種類及演算法的好壞)解決大多數現實生活中的問題。這個體系跟代數和幾何一樣,純粹是理論上的抽象,不會陷入各種經驗公式或者各種奇奇怪怪的假說。相比於很多Engineering專業研究的是如何去hack現實世界去摸索它的底線,CS是創造了一個虛擬世界,劃好了條條框框,然後任由人們去創造。碰巧,半導體行業的發展給了CS一個足夠好的載體(體積小功耗小速度快),使得人們創造的程序可以越來越複雜,並在有意義的時間和空間內完成任務。不懂什麼叫做計算機行業,我只知道互聯網行業,金融行業,醫藥行業等等,連IT行業我都不知道是什麼。
IT是工具,用來輔助某個行業運作的,自己本身不是行業。你是搞IT的有沒有前途要看混哪個行業。
當然,假如你的意思是問「造計算機」的行業有沒有前途倒也是個問題,可以找相關行業的人來回答。
以下為個人看法,僅供參考
計算機行業這個說法不標準,我猜題主問的是和計算機類專業相關的行業,這範圍就大了,不過大多數人還是認為是以BAT為代表的互聯網行業,具體到職業就是程序員。
計算機類行業好不好,好,當然好,我說不好在知乎能被人打死。
但是,但是,知乎包括很多媒體對計算機相關行業有點跟風追捧了,還有,看一個事物好不好不僅僅要看實物本身,也要看背後的大環境。
據相關行業分析文章(知乎就有很多)和一些在互聯網的朋友介紹,2017年計算機類就業風頭已經不如前兩年強勁了(僅僅是個人看法),表現為高端走高,中低端走低。這幾年湧入這個行業的人卻越來越多(不是一般的多,幾乎是幾何級的),這個從知乎轉專業類的問題就能看出來,基本上都是問轉計算機類的,大家在看看身邊的同學轉計算機類專業的情況怎麼樣,或者畢業轉行計算機的情況怎麼樣。計算機目前是個好專業,但是相關行業蛋糕再大紅利再多也架不住全國人民都來啃,風口浪尖上了烈火烹油,大潮褪去才發現自己被晾在沙灘上曬死。
關於計算機相關行業趨勢,隨著人員的大量湧入從業人員的絕對數量會急劇膨脹,而需求量卻遠遠跟不上供給量,導致門檻會升的很快很高。這還是當前IT互聯網行業比較火的情況下,萬一有退潮後果堪比2008年股市6000點以後,這個結果大概3-5年後出現(正是湧入人數最多那批畢業的時候)。
這行幾年以後兩極分化會越來越嚴重,好學校高學歷能力強者收入會越來越高,差學校低學歷能力差者會回歸正常水平甚至只能維持溫飽(現在看還挺滋潤)。這行業10%的婆羅門的收入會翻番,20%的剎帝利會維持現狀,70%的首陀羅和吠舍會被邊緣化,二八定律會很明顯。
即便這行一直火下去,平均收入也會下降,但表現在婆羅門和剎帝利收入越來越高,首陀羅和吠舍越來越難混,畢竟中國最不缺的就是人。如果一個行業在短短几年內從業人數增長十幾倍或者幾十倍,那該多嚇人?當然該行業確實爆發了,但增長數速度卻趕不上從業人員急劇膨脹的速度。如果行業有一點退潮,大批人根本來不及轉身。
最後想說,計算機相關行業可能會一直火下去,但從業人員整體來講不可能還像過去那樣坐享行業爆發期的紅利了。現在轉計算機(學計算機)的人中,很多數並不適合做這行,這行的知識更迭太快了,淘汰率太高了,千萬不要下意識把自己劃歸婆羅門和剎帝利階層。
量子計算物理體系機遙遙無期,弄不好以後都沒有可能做得出來。現在全是prototype,拿來忽悠投資人的。
你轉身看看,還有別的可以支撐大規模工業化的工具嗎?
我的理解是CS會一直火下去。至少在題主的有生之年。計算機行業會持續火很久, 原因很簡單,
因為人類的大部分行為還未被計算機化
隨便舉例子吧:
1. 家居生活
這算智能家電領域吧, 現在已經開始慢慢火起來了, 比如掃地機器人, 比如小米最新的智能家居, 而這還只是雛形, 你想像一下未來高度智能化高度數據化的家電是什麼樣子
2. 出行
自動駕駛汽車是趨勢, 自動駕駛的輕軌, 地鐵也不難實現, 甚至可以實現根據大數據和實際人流量, 實時道路情況分析和調配公共交通的全自動交通調度系統.
3. 工作
高度信息化的工廠, 現在這個叫工業4.0, 通過實時數據控制工業生產的所有環節, 這個玩意也是新開始的
4. 醫療
更先進的醫療器械, 3D的磁共振, 遠程醫療, 不止是視頻醫療, 甚至醫生能遠程利用機械臂進行手術
大一的時候做過類似推銷員的兼職,那條街上,原本有兩個人在招攬顧客,後來我們被中介介(pian)紹到那邊之後,那條街上一共充斥了大概20個人,你可想而知這已經算過飽和了吧。事實是,有一個能說會道的大姐姐拿走了百分之九十的生意,剩下的人有很多人只能拿仨瓜倆棗,更有甚者顆粒無收。
行業的性質決定了人員分布的形態。就互聯網行業來說,只要總體上工商業發展不衰退,則互聯網行業永不飽和。因為從比例上看,能跨過那道無形門檻的人數永遠不會超過需求量。
計算機行業當然不會,還差太遠,只是國內互聯網行業泡沫太多,整天追求所謂的用戶體驗營銷方式等等,換個頁面就好像重大革新,有個點子就大呼創業圈錢,搞個手機app就高呼無線技術。技術呢?核心呢?不就是金融里的熱錢給慣的么?這部分泡沫遲早要破,但計算機行業能做的還有太多,中國要趕的就更多了。自身發展不說,結合傳統行業的信息化,還沒來呢。一家之言
計算機會成為和水和電一樣的基礎設施。然而這些遠遠不夠,蒸汽機發明之後是機械師的時代,然而到現在機械已經不怎麼如日中天了。
計算機這個東西有相當大的侵入性,它能夠改造其它行業,使其變得自動化,並且使它們的業務邏輯或者辦事方法與計算機趨同。對於被改造的行業,其從業人員要麼被同化為程序員,要麼拒絕同化被程序員代替。
別忘了其他行業被改造而消滅低級勞動的同時,編程本身的複雜度和門檻也在降低。未來的編程絕對不會像現在這樣,但是在未來編程絕對是操作計算機的主要方式,由此使用工具的人也勉強能叫做程序員了(或者統稱為技術人員,參照運維和數據分析)。
外行總是認為程序員一定會被消滅,但是內行的觀點是程序員可以藉助計算機侵入其它行業。我覺得比起「入侵」,「同化」這個詞可能更恰當一些。非程序員由於生產離不開計算機而去學編程,程序員由於技術複雜度降低而有時間學其它領域的知識,這是個融合的過程。從軟體到SaaS再到AI分享一下自己的拙見.. 軟體/SaaS/AI是所謂計算機行業中的重要『新』事物(未必第一次提出,但在近期取得長足進步),因此同樣值得關注計算機行業的同仁們關注,由於筆者從事投資行業,因此也會更多的從商業模式角度來看待問題,內容略碎,見諒。
一直以來,能源、金融、零售、製造以及背後的產業是這個世界運轉的基礎設施,從幾十年前的Microsoft起,軟體開始吞噬世界,終於,全球市值最高的五家公司變成了清一色的科技公司。但是在過去的十幾年,「軟體」 似乎變成了一個過時的詞,他們笨重、複雜,傳統定義下的軟體公司本質是在做To-B業務,與大眾生活並不直接相關,相比那些解決「信息化」的軟體技術,實現「連接人與信息」的互聯網公司在過去十幾年間一次又一次的上演了快速找到商業與科技結合的sweet point,弄潮兒們選擇投身互聯網,而不是創建或加入一家軟體公司,最量化的體現恐怕就是公司估值和個人收入上的巨大差異,原因在於互聯網公司與軟體公司在商業模式和收入結構上的巨大差異。
軟體,Sexy的SaaS是天生的
從某種角度看,模式往往決定了天花板,比如,應用軟體在雲計算的浪潮下演化為SaaS,但本質上講,大部分SaaS公司的本質仍然是應用軟體公司,很大程度上,一家SaaS公司所處的賽道和所做的業務天然決定了其是否能突破一家軟體公司的範疇,最直接的判斷方法是看其可能的收入結構。SaaS最大的創新是subscription這種deliver service的銷售模式,與此同時提升了獲客、產品升級、客戶關係等方面的效率,SaaS/PaaS/IaaS/BaaS是subscription這種商業模式的不同產品形態,技術角度來看可以理解為「產品雲化帶來了銷售訂閱化」,因此,大部分SaaS應用軟體公司的估值基本上是基於軟體銷售收入。Subscription模式依靠「產品創新,銷售驅動」,檢測產品有多創新的一個簡單方式是,看看你的產品在多大程度上提升了「流程」之外的效率,界面背後的數據是否能產生客戶願意買單的價值(通常與客戶的revenue相關),這些是硬功夫,需要技術創新。
比較務實的想像空間主要來自於標準化產品所target的Total Addressable Market有多大。在一個成熟的商業環境中,從橫向功能來看,銷售管理、人力資源以及財務管理三方面的需求最為明確最為核心(B2D is another story),所謂管人管錢以及跟收入相關的所有,核心到Salesforce可以下沉至PaaS做生態平台,核心到Zenefits可以有機會切保險交易,但很難說這些帶有互聯網氣質的SaaS的成功(或暫時的成功)可被複制,換個時間換個商業環境換個品類估計都不成立。典型的大型軟體企業如Oracle/SAP往往通過多條產品線服務大客戶不斷upsell來做收入,收入約等於主營業務所創造的客戶價值,羊毛出在豬身上的事情並不成立。
SaaS customer adoption的速度與一個國家整體商業環境的成熟度和信息化程度呈正相關關係,因此,中國的SaaS和美國的SaaS發展路徑必定不同,且中國的競爭環境還將造成更高的獲客成本,橫向功能型SaaS公司的發展速度自然不快。在SaaS賽道整體偏慢的情況下,outlier選手更有可能來自於服務短期內可以產生足夠增量的垂直行業SaaS/PaaS,包括業務的增量(比如過去幾年金融服務市場的增量)以及信息化的增量(比如酒店行業天然信息化程度比較高,加上OTA的發展,在這樣的環境下做管理的SaaS有更大的機會切交易)。
聽起來,世界不太可能被SaaS吃掉...
互聯網,從「人機交互」說起
歷史已經證明,every once in a while,一種新的人機交互方式會被發明,同樣,信息化的基礎設施也會演進出一種新的形態,無論創業者還是投資人都在尋找(或者更準確的說應該是等待)這樣的disruptive機會all in。那些擅長於技術的極客們驅動著這股浪潮,那些精於行業洞察的企業家們充分發揮極客們所建設的技術基礎設施來提升行業效率,例如美團、滴滴們所享受的移動互聯網普及帶來的紅利。
無論軟體還是互聯網,本質上都是在探索一種更加高效且自然的「人與信息的交互方式」,以Microsoft為代表的圖形界面交互方式「1.0」(thanks to Apple thanks to Xerox),以Google為代表的信息檢索交互方式「2.0」,以及抓住了當年next-gen killer device機會的Apple 「the truely all in one thing - iPhone」,他們要麼是在人機交互創新上邁出了一大步,要麼是建立起了生態體系牢牢把握住了大眾與信息交互的入口,Microsoft, Apple, Google都是擁有用戶端產品能力的操作系統級企業,Amazon is good at organizing goods and Facebook has an incredible insight in discovering human ego,這些深刻理解了人與信息交互本質的科技公司證明了其可持續的重大商業價值,反過來,持續的商業價值也證明了人機交互意義之重大。當年Netscape從IPO到市值27億美金只用了1分鐘,而傳統製造企業通用動力則花了43年,那時的基本判斷邏輯同樣是,瀏覽器可能會成為下一代人機信息交互的重大創新。不久之前的Wearable浪潮以及仍然在繼續的AR/VR也是這個邏輯,Wearable幾乎被證明不成立,而AR/VR距離發明體驗自然的killer device還有時日(智能手機是移動互聯網的那個killer device,大小剛好,容納得下足夠的計算能力,機器與人的「距離」也剛剛好,是人類攜帶一個設備最自然的方式,相比之下,那些貼身的wearables就沒有那麼舒服的「距離感」了),這些基本可以歸為「硬體載體」難以突破的問題。
3.0, what is the next big thing?
我曾一度把iPhone的電容屏觸摸交互技術也歸為人機交互的里程碑式革命,後來漸漸發現,觸摸屏技術固然偉大,但它仍然是操作層面的進步,提升的是人機交互中操作層面的效率,而非探索信息本身,或者說它既沒有提升信息結構化的程度,也沒有從本質上增強人類理解信息的能力。Google的搜索引擎並沒有在前端交互形式上做出什麼貢獻,恰恰相反,它的前端足夠輕足夠簡單,它的偉大之處在於後端信息的組織。
那麼,最有可能先到來的人機交互「3.0」會是什麼形態呢?那些讓「2.0」倍感焦慮的技術可能會是其中之一,當年Apple推出Siri時曾讓Google非常緊張,因為Siri確實吸走了足以讓Google擔心的信息檢索流量,如今幾年過去了,語音交互技術似乎仍然是體驗尷尬和不智能的。按照對「觸摸屏技術」理解的思路,我們也可以解理為,雖然語音是人類最自然的一種交互方式(它甚至不需要像AR/VR那樣去發明一個killer device,創造一個新的世界,語音交互就存在於生活本身),但人機語音交互技術僅僅在語音識別層面取得了短平快的突破(也就是操作層面,機器知道你說了哪幾個字),但更為重要的語義理解層面並沒有同樣重大的突破,也就是說,機器仍然難以理解人類,所以語音交互體驗是尷尬的。
如果能有一種技術可以大幅提高機器理解人類的能力,那麼,真正能稱之為下一代的人機交互應用是否會先發生在人類最自然的溝通方式 - 語音交互?Andrew Ng和微軟的陸奇對語音寄予厚望,或者,下一代的人機交互革命會是一種去中心化的形態?像一層Layer作為一種Enabler存在於各種已經充分信息化的場景下,使得機器能更好的理解人類,也使得人類更願意與機器交互。我相信,eventually, AR/VR把世界都格式化的那天一定會發生,我們可以把AR/VR immersive式的體驗理解為,在特定場景下全方位的提高了人機交互的信息展現效率,從2D到3D的突破必將帶來這些場景新一輪信息化的重塑,但更為關鍵的,在一個普遍的高度信息化的世界裡,我們需要一種能讓機器理解人類的Enabler技術來徹底改變人機交互體驗,否則,在一個AR/VR的世界裡,交互體驗仍然是尷尬和效率低下的,就像現在的人機語音交互。
從「人機交互」到「AI基礎設施」
聽起來,世界更有可能被那層Enabler軟體吃掉。
那麼,如何理解這層軟體呢?傳統意義上的軟體本質上是在解決信息化的問題,從基礎層的數據存儲、網路傳輸、數據計算,到應用層多樣的應用程序技術,以及由信息化帶來的各種中間件技術和網路安全技術,簡單問題用輕量級的技術架構信息化,複雜問題用平台級的技術架構信息化,這是一個將世界從analog到digital轉化的digitalizing過程;互聯網基於軟體但核心不是軟體技術,互聯網的巨大商業價值產生於實現了人與信息的「連接」,互聯網商業模式就是一種「發現信息的機制」,某種角度,我們也可以把使機器理解人的AI技術看作一種「連接」,過去是人approach信息,所謂感知(人感知信息),有了這層AI Enabler之後,未來是信息approach人,所謂認知(信息認知人,機器認識世界),也就是說,AI enable了另一個方向的「連接」,開啟了另一個境界的信息化!Sounds like a big thing, right?
In the long run, 機器將理解人類的情感,甚至擁有自己的思想,in the short run, 比較務實的理解是,AI = Smart Computation (Data x Algorithms),也就是一種更智能更自動化的「計算」。Why now? AI從量變到質變的突破來自於:
- Data:信息化所積累的足夠大規模、多元化的數據,以及雲計算所帶來的數據集中化;
- Algorithms:作為machine learning的分支,deep learning在上世紀60年代就被提出,直到2012年左右Lecun的卷積神經網演算法所取得的進步終於帶來了質的突破,在人臉識別領域,機器第一次超越了人眼識別的能力;
- 硬體層面:基於deep learning的學習迭代需要恐怖的硬體計算資源支持,GPU並行計算的運用提供了CPU無法達到的計算能力(NVIDIA的市值也應聲水漲船高),我們可以期待定製集成電路ASIC,神經元晶元NPU的發展對AI的重要促進。
今天,機器學習還是基於監督式學習,也就是說,需要人工介入事先把數據集打上標籤來訓練模型,告訴機器這張圖片是貓那張圖片是狗,反反覆復訓練之後,演算法就具備了識別貓貓狗狗的能力,聽起來不太sexy... right? 稍複雜一些的場景,機器可以將一張圖片翻譯為它所理解的文字,比如 A young lady holding a Starbucks coffee。在運用deep learning之後,語義理解NLP領域已經取得了一些進步,但deep learning在NLP方面的應用還沒有取得突破性的進展,原因在於deep learning是一種更適合於做特徵提取的演算法,也就是,在人不好描述的情況下通過機器做特徵描述,因此deep learning在圖像這個便於模式抽象的領域最容易發揮,在自然語言理解方面還有待探索。科學家們也在努力使深度學習模型獲得邏輯推理能力。未來的想像空間在於從監督學習到非監督學習的跨越,畢竟這個世界的絕大部分信息是沒有被打上準確標籤的,非監督學習將減少人工干預,讓機器更自動更自由的學習探索世界,這將帶來根本的進步,一切才剛剛開始。
AI能成為Infrastructure而不僅僅局限於vertical技術的原因在於deep learning技術的強「獲得特徵遷移性」,也就是強通用性。DeepMind在成功挑戰人類複雜遊戲圍棋之後(AlphaGo),向視網膜醫學影像診斷領域進軍,並且再次證明了機器可以比人類做得更好,同時,DeepMind還在探索基於機器感測數據做針對機器硬體的能耗管理、故障預測。在越來越多的領域,作為一種基礎設施級的enabler,AI技術的出現極大的提升了行業效率,甚至是這個領域的Game Changer。無論是自動駕駛對交通出行的改變,還是智能製造IIoT(Industrial IoT)或者智能投顧RA(Robot Advisor)的興起,機器替代人工並不新鮮,技術創新重塑行業產生的機會以及對產業上下游產生的改變才應該是我們關注的重點。
過去十年,我們說了太多的模式創新,未來十年,創業圈最性感的事情莫過於,具有企業家探索精神的科學家技術極客翻開重塑信息世界的新篇章!
不是火幾年的問題啊,
有一個道理我很小就知道了:
懶惰,是人類社會進步的原動力之一。
因為人懶得爬樓梯,所以電動扶梯就被發明了。
因為人懶得洗碗,所以洗碗機就倍發明了。
因為人懶得走路,所以,交通工具就被發明了。
因為人懶得做數學,所以,計算機就被發明了。
因為我很快就發現了,計算機能幫人類偷懶。
因此,結論很明確,就是,計算機能火到他無法再幫人類偷懶的那一天。
我覺得樓主把計算機行業和計算機專業弄混了。。現在國內計算機專業不如以前是真的 =。=
我一直覺得計算機不是一個行業~~
火到程序能自己寫程序
推薦閱讀:
※程序員有哪些借口可以讓自己寫出低質量的代碼?
※培訓班輸出的2百萬「碼農」會對IT行業造成什麼影響?
※中國電信國際出口是否存在網速問題?
※中國有哪些互聯網的國際出口,周邊有什麼國際線路?
※現在什麼職業最容易被人工智慧取代?