2022年10月24日 星期一

「10.24『程序員節』:工程師還是好的職業選擇嗎?」

<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fkaifulee%2Fposts%2Fpfbid024H4ZaqN69HxrfrQMVcbxNtytRtDXh295irjUJtZcEgGxHet5sTmWtW1NCKYPGmxil&show_text=true&width=500" width="500" height="307" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"></iframe>

今天是大陸的「程序員節」,也祝臺灣的工程師們節日快樂!

 

1980年,當我在哥倫比亞大學從法律系轉到電腦系時,我完全沒有預期電腦專業在21世紀會是多麼的火爆。我很幸運,完全憑藉興趣作出的選擇,成就了我的終身職業。後來的故事大家都很瞭解,我在卡內基·梅隆大學取得博士學位,從美國回到中國,從跨國科技巨頭的領導者,到專注科技領域的投資人。這一切都離不開當初的選擇,我選擇了電腦,選擇了人工智慧。

 

我有幸見證了過去四十年電腦行業的飛躍,見證了中國高科技產業的興盛,也見證了工程師隊伍的誕生和壯大。在這個行業,我們見過很多白手起家、一夜暴富的奇跡;也見到很多中年失業、透支生命的悲劇。那麼在今天的環境下,工程師還是一個好的職業選擇嗎?如果要成為一個成功的工程師,想在電腦行業施展拳腳,應該怎麼做?我想和你們分享我的同事、創新工場人工智能工程院執行院長王詠剛做客璞躍中國播客節目的一次採訪。詠剛本人就是優秀工程師的代表,希望他的建議能夠給電腦行業的人才、尤其是電腦專業的同學們帶來啟發。

________________________________________

■Q:您覺得現在工程師飽和嗎?未來幾年市場對工程師的需求還會如此強烈嗎?大學生讀電腦專業,未來還會是香餑餑嗎?

 

王詠剛:工程師之所以能夠變成非常賺錢的行業,不是因為相比其他行業超級到什麼程度,主要原因是吃到了過去30年全球資訊化的紅利。這30年,全球資訊化的發展遠遠超出了30年前的人的想像能力。那時候的電腦是一個大方盒子,只能做一些簡單的東西,很難想像高性能的攝影攝像,或者智慧的程式可以跑在今天這麼小且平價的手機上。

資訊化的超高速發展帶來的杠杆效應,是一種撬動效應,任何行業一旦引入資訊化,都可以把效率提高百倍、千倍。哪怕只是把以前的紙質的資訊變成數位的,都可以用智慧演算法挖掘出非常多有價值的東西,這對傳統行業是降維打擊

這是過去30年世界科技產業格局的主題,所以工程師其實都是吃了這個紅利。如果沒有科技產業超出預期的發展,工程師這個行業也不可能有這麼高的收入。

因此我覺得,對工程師的需求,本質上取決於這種科技趨勢能保持多久。回顧歷史,和工程師相關的科技趨勢,大概經歷了三個階段。最早的資訊化/數位化,就是把非數位的東西全部用電腦處理。第二步是移動化/物聯網化,就是把資料全部分佈在像手機、電視機上盒、冰箱的這樣終端裡,這一步讓網路變成了移動化的網路,遠遠超出了以前一個電腦能做的,把整個世界連在了一起。今天我們看到,在這個基礎上,各行各業在有了資訊化,有了移動網路之後,第三步是把智慧演算法放在每一個地方,去大幅提高效率。所以智慧化這件事,特別是人工智慧演算法在各個行業的滲透,其實才剛剛開始。

 

那麼工程師這個行業還能火多久?只要智慧演算法對效率的提升,還能保持前面30年這樣的速度,我相信這個行業還是會一直紅火下去,只是紅火的方式、對工程師的素質或者經歷的要求會和以前不一樣。

 

■ Q:您認為具備什麼能力的工程師才是行業稀缺的優秀人才?

王詠剛:概括地講,電腦行業的高級人才分兩類:偏科研的人才,和偏工程的人。這兩類人才的成長路徑、企業對他們的要求,還有他們可發揮能力的空間非常不一樣。

第一類科研人才相對少一些,他們必須有比較強的科研敏感度,在電腦專業,或者數學相關專業讀到博士,並且博士研究中能夠做出世界級的、頂尖的成果。科研型人才是這個行業裡超級寶貴的人才,他們的工作方式,工作的思路,從小積累的能力,和工程型人才是有很大區別的。

 

科研型人才本質上是要做學術突破,在最前沿的領域大膽地做創造性的嘗試。相比解決問題的敏銳度,發現問題的敏銳度更重要。能不能從你所掌握的知識裡,從今天大家都在做的事情裡,發現哪些事情是最有可能取得突破的。很多讀到博士、博士後的學生其實都不算科研人才,他們只是在這個領域繼續讀下去了而已,真的科研人才是要做出突破性成果的。

 

第二類,工程型人才的數量是相對比較多的,高級人才裡可能百分之八九十都是工程型人才。這些人才的培養比較有規律可循,對個人的天分、非規律性的積累、或者機遇的要求相對少一些。

 

其實今天很多人並沒有理解培養電腦人才本質的規律。小朋友在小學階段對程式設計有興趣的話是很好的苗子,勵志做電腦工程師也是很好的志向。但是對這些同學來說,他們需要一個好的引導框架,儘量開拓視野,程式設計語言儘量多瞭解一些,看最好的工程師貢獻出來的代碼是什麼樣的,遠比按照程式設計語言教科書去背語法重要。

 

在中學階段,數學要遠遠比程式設計語言重要,也遠重要過任何軟體的學習。如果立志走程式設計這條道,想進入電腦行業,那麼就要從中小學開始打好數學基礎,瞭解數學知識怎樣幫助其他領域。

 

所以我對喜歡程式設計的同學的建議是,可以去體驗程式設計是怎樣一回事,去看那些大師級的代碼是什麼樣的,去體驗那些最好的程式。

 

但是從學的角度講,我認為學程式設計不著急,最重要的還是學好數學。一個數學底子非常薄的人,最後無論給他灌多少本程式設計語言教科書,多少本資料結構演算法教科書,他最終的程式設計實力都會很弱,不會進入到高級的電腦工程工作者的行列。

 

■ Q:我們知道電腦行業有很多細分的領域,近幾年市場變化非常快,一些工程師在自己的細分領域不景氣的情況下,會面臨一些職場的焦慮,對此您怎麼看?您覺得工程師應該如何保持自己在職場上的競爭力?

 

王詠剛:很多工程師有一個特別大的誤區,本來做得挺好的,結果細分行業不景氣了,比如編遊戲程式的,突然發現頁遊不景氣了,就好像非常無助,不知道該幹嘛了。但其實高層次的工程師根本不會有這種困惑。

 

低層次和高層次怎麼區分?其實特別簡單。比如遊戲行業的工程師,有相當大一部分隻會拿著遊戲開發工具,比如說 RealUnityC++ C#,別人提需求,他去找參考案例,照貓畫虎把這個代碼變成自己的。但如果你問他一些細節,他就完全懵了,因為別人的代碼就是這麼寫的,他根本就沒有想過深層的原理。

 

另一種工程師他也會仿照別人的代碼,但因為有好學的精神,因為之前積累的數學功底,他每一次都會自我提問,探索深層的原理。每一次都刨根問底的工程師,是非常有可能通向高級工程師的行列的。

 

假設說他所從事的行業,比如說頁遊不流行了,但他對底層的圖形學技術,遊戲引擎技術等等是非常深入瞭解的,他可以轉到別的遊戲;就算整個遊戲行業不流行了,他可以轉到VR、轉到AR;算VRAR都不流行了,他還可以轉去做驅動層的渲染,可以轉到物理模擬、生物模擬、化學模擬,因為這些領域的底層技術其實都是相通的。

所以對高級工程師來講,真的是公司求著他們加入,他們不會擔心求職困難或行業不景氣。學習習慣和學習能力,對技術的底層的瞭解的深度,完全決定了工程師在職場上的受歡迎程度。

 

■ Q:網路上引起熱議的,除了工程師的收入比較高,另一個就是工程師職業年齡在35歲終結,對此您怎麼看?

 

王詠剛:年齡問題在這個行業還挺普遍的,但不意味著這是一個對的事情。

 

同樣電腦領域的公司,它們的盈利模式是非常不一樣的,直接決定了公司用人的思路。絕大多數電腦行業的公司,是沒辦法在技術上完全領先的,大量的公司都是跟隨者。所以大家觀察到的這個現象,普遍是因為大多數公司不需要持續性的科技創新。

所以從公司的角度出發,反正是用相對低端的產品、低端的技術服務相對普通的客戶,在招聘的時候,都會青睞應屆學生,他們雖然是普通工程師,但他們年輕又能吃苦,成本也低很多。

 

在這樣的企業環境裡,如果到了35歲甚至40歲還不轉型,確實挺難的。所以很多人就徹底跟程式設計無緣了,轉型做管理等等,這是一個無奈的選擇。

 

在真正強調科技創新、持續加大研發投入的企業裡,很多有經驗的、在某個領域積累到40歲、50歲甚至60歲的人還在編程式,而且水準相當高,也非常受歡迎。就我自己的工作經驗,我在 Google全球的辦公室見過非常多的大齡工程師,這些白髮蒼蒼的工程師,他們做出來的活都非常漂亮,而且Google也非常喜歡他們在這個環境裡面發揮價值,所以我覺得本質上取決於企業是不是對持續創新有需求。

 

■ Q:回看互聯網的發展歷史,許多電腦專業的學生在畢業後選擇創業,賺到了人生的第一桶金,也不乏很多人書寫歷史。從您的角度來說,您支持剛剛走入社會的年輕人投身創業嗎?

 

王詠剛:對絕大多數應屆畢業生來說,我不太建議去創業,除非先天有一個非常好的創業氛圍或者創業環境。

 

有些同學在上學期間就已經準備好創業,同時有一個非常匹配的環境,比如說我們曾經見過非常好的投資人的孩子,他的家長幫他安排了非常完整的成長路徑,一畢業就可以給他對接資金、技術、商業上的各種資源,他畢業之後去創業是順理成章的。但是這樣的畢業生太少了。

 

對絕大多數畢業生來說,剛畢業去創業都是很冒失的舉動。我建議畢業生嘗試幾個方向,比如進入科研機構去做研究;比如說進入到大廠去做一個工程師;或者加入早期或中期的創業團隊,去體驗一下創業到底是怎麼回事。和創始人一起在這種生死考驗裡走幾圈,你會發現你能學到非常多的東西,對未來的創業是相當堅實的鋪墊。

 

想創業的話,有機會一定要加入頂級的創業團隊去學習一下,第一流的創業者在做什麼,這樣你很容易去判斷自己適不適合創業,什麼時候可以去創業。

 

■ Q:對電腦專業的同學們,你有什麼建議嗎?除了正常的學業以外,他們還應該著重培養自己哪些方面的能力?

 

王詠剛:對已經選了電腦專業的同學,還是要分兩個大方向。

 

如果未來走科研的道路,從第一天開始學習起,就要培養自己提出新問題的能力,千萬不要把視野局限在老師教了什麼,課本上講了什麼,或者說畢業設計佈置了什麼。一定要看看在你所做的領域裡,這個世界上最頂級的人都在做什麼,這些最頂級的工作裡還有哪些未完善的成果。

 

第二個建議就是找到一個好的導師,這個對科研人太重要了,有什麼樣的導師才能帶出什麼樣的學生,這是科研領域不破的真理。一旦你覺得導師不合適,一定要在各種層面上追求,比如到另一個學校,或者換到另一個組,在你力所能及的範圍內找到那些國際視野最好、論文經常發表在頂級的會議或者期刊上的老師。

 

接下來是對工程型的人。我們想一下,最好的工程師在哪?他們幾乎都不在學校裡,幾乎都不是你的老師。很簡單,因為做老師的收入太低了。不管在中國還是美國,那些有能力的頂級工程師,一定是在頂級的企業裡。

 

你們從學校學到的知識,一定有價值,但會非常有限。在這種情況下,我建議同學們在力所能及的範圍內儘量尋找實習機會,尋找和別人合作的機會。我舉一些例子,第一,參加著名企業的實習,這是一定要爭取的;第二,參加著名企業的夏令營、比賽等項目,都有可能得到那些最核心的工程師的指導;第三,今天有那麼多開源專案,在GitHub上有那麼多代碼,要去多看,如果你有心得,還可以貢獻,可以提交代碼,這個過程要遠比在學校裡學好多個月得到的都多。

 

這是我對學生們最大的建議,很多人其實沒想明白這一點。行業最精英的人在哪,你就去哪裡找最精英的人學習,而不是把自己局限在讀書、考試,做畢業設計這些事情。

 

 

沒有留言: