第五章 年輕的時候,我們該如何選擇

《絕地求生》reference_book_ids":[7070768384131992589]}]},"author_speak":"code":0,"compress_status":1,"content":"  總是希望能夠把自己經曆過的一些事分享出來,把走過的彎路告訴後邊的人。有些痛苦和迷茫,你自己回過頭來覺得很珍貴,其實隻是你自己不願意承認那些苦都白受了而已。

先說下我自己。小時候,我有嚴重的小兒多動症,後來考進了“985”。畢業後先去了一家國企科研單位,後來去了一家世界500強的公司,一直幹到現在。

我從大學開始接觸編程,到現在正好是十年,中間斷過,後來又繼續從事編程工作。

做任何事情,最關鍵的是先入門,從事編程工作也是一樣,那麼做編程到底到了哪個地步才算入門呢?所謂的入門,是你進了一家公司,然後開始給人家幹活,並且能夠提供合格的交付件,這就算入門了。我的目的是在你一行代碼還沒寫的時候,給你一些建議。

不管在任何企業,厲害的人應該是主動地幫企業改進流程,給企業降低成本,提高效率,當然要實現這個目標非常難。最高的境界就是你改進了流程,企業終於不需要你了,把你開了,當然這是開玩笑的話。任何能做到提高整體效率、降低成本的人,都是企業的寶貴資產,做程序員也一樣。因為我是做程序員的,所以,我就寫寫如何做程序。我想我寫程序的心得,不管從事什麼職業和行業,都會有價值的。

我們分成幾個話題來討論:

如果你一行代碼都沒寫過就想當程序員,我覺得你勇氣可嘉,不過也可以試試,其實思路是一樣的,就是使勁地敲代碼。你可以搞個編譯工具,找一本程序的入門書。學習C語言可以選擇譚浩強的書,學習JAVA可以選 《瘋狂JAVA講義》,千萬別碰什麼《JAVA編程思想》之類,寫代碼不需要思想。你可以把上邊的每一個例子都敲一遍,然後運行一遍,千萬不要偷懶,也不要耍機靈,一個例子都別落下,而且必須是全部運行通過了。當你把一本書上的例子和習題全部運行完了,這本編程書30%的知識就是你自己的了。

然後,你需要繼續敲代碼,不要去做那種複雜的算法題,先把基本的東西做熟練,直到你翻開任何一頁,給你指一下,你不看人家原來寫的是什麼,直接把那段代碼自己敲出來,這本書就是你的了。如果做到這一步,這門語言的道路上,你已經行走了50%了。

然後,你需要繼續敲代碼,找點稍微複雜點的算法題,但是別找太複雜的。如果你的資質和我一樣平庸,就先多找些習題,千萬別搞大躍進,一道一道地做,至於定什麼具體目標,大概如下:

1. 菜鳥級的程序員,累計敲了一萬行的代碼,能夠不看書編碼了;

2. 能夠給公司幹活的程序員,累計敲了五萬行的代碼,但是寫代碼的速度比較慢,調試的時候也比較慢;

3. 老手級的程序員,累計寫了五十萬行的代碼,寫起代碼瘋了似的,半天就可以寫兩千行,五遍以內運行通過的人。

你可能覺得我在亂說,其實並不是。比如,怎麼篩選出優秀的飛行員呢?就是要看這個駕駛員安全駕駛了一千個小時還是一萬個小時。

跑步圈討論今年的訓練水平,就按照跑了多少公裏衡量。程序員編碼也是有硬指標的,硬指標達不到,你就沒辦法建立那種神經元之間的硬鏈接,也就沒法做到收放自如。不要迷茫,不要鬱悶,還沒寫夠五萬行,你找不到如何編碼的感覺是正常的,就像你初中之前寫出來的作文跟智障寫的似的。多練,總錯不了。

我大學老師和我一樣,都是平常人,但是他成就很高,他像一個布爾什維克一樣要求自己。他每天寫代碼,寫文章,每天工作十二個小時,每天也跑步一個小時。他說其實編碼和寫文章這倆事是一回事,你得不斷地寫,才會有感覺,才不會出錯。你寫得少,沒法下筆成章,寫出來的東西別人讀起來困難,你自己的想法也傳達不出去。不信的話,你自己試試,寫一段話或者一篇文字。如果好幾年不寫,你就能感受到再寫東西有多別扭。

編碼也一樣,當你達不到累計編碼五萬行這個硬指標的時候,你是難以做得嫻熟的。當你進了公司,上司讓你寫個程序,實現個小功能,你立刻就虛了。就跟讓你寫一篇小短文似的,根本傳達不出來你想表達的。但是如果你像我這樣笨鳥多練,最起碼可以寫出很長的有價值的文字。

最後聊一句關於編碼的語言。有人問,我是先學C語言呢還是JAVA呢?還是Python?我推薦JAVA,因為JAVA應用範圍廣,學了它以後容易找工作,先學了JAVA,以後轉寫Android或者Python也容易。那學習C語言呢?我不太推薦C語言,因為用得比較少。

至於算法結構,我不太建議學。因為當你進了公司,基本上你這輩子都不用自己實現一個雙鏈表。如果你說你要去個高級公司,要去寫庫函數,那就需要你自己去專研或者請教更厲害的人。

有人問,我數學不好,能當碼農嗎?這個我思考了很久,我認為是沒問題的。但不確定,萬一是我自己的認識有局限呢。後來我給阿裏巴巴、騰訊、百度的小夥伴都打了電話谘詢了下,答案果不其然,總結起來一句話:除非你做算法相關的,否則學很高深的數學沒太大用,月薪三萬以下的編碼工作,初中數學水平就夠了。

我被問得最多的問題是,我今年××歲了,還可以改行做程序員嗎?說實話,我認識不少三十五歲以上改行當碼農的,這個行業門檻低,前途也不錯,你要是不確定自己適不適合,按照我之前寫的,看看自己能不能寫完第一個階段的一萬行代碼。如果你寫完了,看看能不能寫到五萬行,如果能寫到,你確實適合搞這個。這些需要多長時間完成?事實上你要是合適的話,很快就完成了;不合適的話,估計這輩子都達不到,寫幾行就忘記這回事了。

很多人高考後不知道選擇什麼專業,其實選擇專業真的是一門很大的學問。我認為人們首先需要糾正的是對經濟學和管理學的誤解,很多人以為學經濟就能學到如何賺錢,或者以為學了管理學就能當領導。根據我多年以來的經驗,好像沒有發現用人單位打廣告,上邊寫著“聘請經濟學專業畢業生,待遇優厚”或者“高薪聘請領導”。

很多人學了經濟學和管理學,很大可能去當了中介。並不是說做中介不好,我認識一些中介,比我年輕五六歲,賺得跟我差不多,但是一般情況下氣質形象俱佳才行。

現在一般正兒八經的公司選拔幹部的規則都和華為選用人才的標準一樣,也就是韓非在《韓非子·顯學》裏說的“宰相必起於州部,猛將必發於卒伍”,從基層員工裏選領導,以後企業用空降兵的情況會越來越少。

很多人偏愛金融學專業,他們認為學了金融學就能夠非常有前途,其實金融學專業沒有大家想象的那麼有前途。這個領域我很熟,因為我身邊有一堆金融從業者,和他們熟識是因為同樣喜歡曆史。

金融領域的薪資收益存在明顯的“頭部效應”,也就是頭部的1%拿走了整個領域幾乎所有的錢。更讓人難以理解的是,金融行業的收益模式和很多人想象的完全不同,一些人以為金融數學好非常重要——通過數學模型來分析經濟,通過炒股或者其他操作來盈利。事實上是你想多了,這可能是影視劇誤導了你。絕大部分金融領域的高手依賴的是關係網、筆杆子、嘴皮子。這個讓人很費解,不過事實確實是這樣的。

我認識幾個在金融行業做得不錯的,他們都是文筆了得,能夠下筆千言。當然,他們最大的本事是能籌到錢,認識很多人,而且他們也不是學金融學的。

我不建議你學金融專業的另外一個原因是,金融專業的留學生太多,因為這些年英國把接受中國留學生當成GDP的重要組成部分,去英國留學很容易,去了之後絕大部分都是選擇金融專業。

我也不建議你學曆史,因為喜歡曆史是一回事,學曆史又是一回事,畢業後很難找到有前景的工作。

我重點來說說計算機專業,因為我最了解這個行業。

首先,做碼農肯定是可以的。在計算機行業,隻要細心、認真,天分不高的人也能達到很高的水平,收益也很好。將來計算機行業的人才需求肯定是海量的,這是因為:代碼不是寫出來就完事了,海量代碼對應的是海量的維護人員、集成人員。另外,計算機行業普遍潛規則較少,行業相對自由一些,沒有什麼官僚氣,高水平的人,隻要脾氣別太臭,一般很難被埋沒。

其次,當碼農的學習途徑非常多。如果將來當碼農,不一定要學軟件工程,學習計算機、通信專業都可以。我不建議報考軟件學院,因為這個學院的學費非常高。如果本科不是重點大學,可以將來考研究生的時候重新努力一把,平時學好英語,上名校的概率還是挺大的

我在很多文章裏反複強調過,當碼農最重要的不是天賦,也不是數學,月薪三萬以下的碼農隻需要初中數學水平,最重要的是獲得“語感”。

一個人如果想做碼農,他隻要在大學的時候多寫多練——從大學一年級就開始攢代碼的數量,如果他能堅持四年,會遠遠超過其他同學的編碼能力,畢業的時候能把麵試官嚇一跳。

我去過很多高校招生。在麵試這些學編碼的同學的時候,我發現,80%的學生整個大學代碼量不超過兩千。隻好招聘了這些人以後重新培訓他們。

最後,碼農界的工資差距非常大。基層的複製粘貼碼農每月可能也就能夠溫飽的水平,但是能做性能優化和架構的碼農,月薪五萬以上很普遍,倒不是多難,是需求很大,造成供不應求。將來選擇職業時候要選艱苦、有挑戰性的那種項目,去攻山頭,長期收益特別大。

每年高考後,很多人麵臨選大學專業的難題,很多讀者建議我寫一篇如何選擇專業的文章——一部分人是因為自己要上大學了,一部分人是自己的侄子和親戚要選專業上大學,他們不甘心坐在旁邊說一些無關痛癢的話,想給自己的家人、親戚一些專業的建議。

有的讀者不知道在哪裏看到一個梗,多次問報考哪個專業畢業後能夠月薪八萬。我確實見過畢業就能拿到這麼高工資的人,不過這種人數量並不多。

今天我把自己知道的關於選專業的事分享下,供大家參考,說不準有用。當然了,你肯定不會隻看我一個人的建議,畢竟我說的隻是一個側麵,期待能夠提供給大家一些有價值的參考。

首先我們得強調幾個基本常識:

一、除了部分專業性極強的專業,比如醫生和律師,絕大部分人在畢業五年內就開始折騰跟自己專業無關的事。尤其是當下的時代,人們對未來的確定性越來越低,有些專業人才在市場上根本沒有匹配的工作。我的一個朋友畢業多年了,盡管繼承了他父親的洗車店,現在還經營得不錯,不過他依舊長期關注人才市場的招聘信息,查看有無招哲學係畢業的職位。每次看到沒人招哲學係的畢業生,就感慨家裏有錢真是好,可以去讀一些沒什麼用的專業。

二、能去大城市就去大城市。為什麼我經常說年輕人爭取去大城市呢?那些小地方人事複雜,盤根錯節,相互提攜,不管做什麼事都得找人。

小地方本質還是人情社會,不像大城市是陌生人社會,相互之間遵守簡單規則,反而相處容易得多。不過也有個問題,如果在大城市將來發展不下去,回到小地方,會過得有點痛苦。

之前總有人感慨大城市裏鄰居之間比較冷漠,其實這才是正常社會。村裏那種互相都認識,天天互相打探,流言蜚語不斷,每走幾步就得跟人打招呼才讓人身心疲憊。

這時候肯定有人要問了,大城市房價高怎麼辦?——大城市房價高主要是有人購買,繁榮賦予了一堆磚頭以價值,偏遠山區、索馬裏、委內瑞拉的房價並不高,你也不會去買,所以房價高是繁榮本身。

你的競爭力如果能跟得上大城市,自然買得起,在大城市工作,收入往往是曲線增長而不是線性增長,你往往幹著幹著會有一個跳躍。當然,如果沒有獲得曲線增長,也要保持平常心,咱們絕大部分人都是普通人。

美國人經常說“give a shoot”,也就是“打了一槍”,或者“嚐試過”,一槍沒開是遺憾,開了沒打中就拉倒了,糾結也沒用。我們盡量避免自己成為那種一輩子沒做過艱難決定,沒冒過險的人,就可以了。

受過教育的成年人思考問題,一定要少用“平均”這個說法,多用“二八定律”,比如中國人平均收入×××,很多人還覺得我們的收入很低。接受過教育的人第一反應是,我國接近三億人接近歐美的經濟水平了啊。如果我國沒有達到三億人接近歐美的經濟水平,那三億人再來一次“二八定律”,最後那六千萬人的經濟水平妥妥達到歐美發達國家標準了。

三、除非比較特殊的情況,可以先選學校再選專業。你畢業兩年後,基本上沒人問你哪個專業的,因為很多專業你說了別人也不懂,但是你說大學名字,別人永遠都可以第一時間給你的大學找個位置放進去,比如“厲害,名校啊”,或者“嗯,還不錯,應該不是985就是211”,再或者“沒咋聽說過,應該和駐馬店職業技術學校差不多吧”。等到你工作五年之後,幾乎不會有人關心你的專業了,你的標簽是由你之前工作的單位和你的畢業學校共同組成的。

四、大學其實教不了你多少東西,基本全靠畢業後自己學,這也是為什麼我一直在說保持學習的能力。“學習的能力”有兩重意思,一是不懼怕學習新東西,二是知道學習曲線,能夠順利抗過學習新知識初期的挫折感。

我主要講下我了解比較多的專業,免得誤人子弟:

我先講一下金融領域,我對金融領域比較了解。大家首先要糾正“學金融就可以賺大錢”的荒謬認知。相比其他領域,金融領域更像是“明星圈”。世界上有兩種職業,一種是呈現出明顯的“頭部效應”,也就是這個行業裏1%的人拿走了99%的錢,金融就是這麼一個領域;此外還有直播行業,頭部的主播一晚上可以賺一輛法拉利,頭部以下的主播隻能喝湯。另一種是金字塔形的,頭部的工作人員能賺很多,但是不會拿走太多,比如碼農領域,我們公司最頂尖的碼農跟普通碼農的收入也超不過三倍。

好像很多從事金融的人都愛曆史,因為我也愛好曆史的緣故,認識了一堆從事金融行業的。我哥以前非常仰慕金融領域的金領氣質,名校物理專業畢業,數學非常厲害,自信滿滿地進入了金融領域,夢想著用數學搞個模型之類,就像華爾街那些精英似的玩交易。後來他去了國內知名的一個基金公司,變成了一個金融行業的中介。是的,生活就是這麼慘無人道。

你以為的金融從業者都打扮得光鮮亮麗,坐在豪華的辦公室裏操作著計算機,在金融的世界裏指點江山。而現實裏絕大部分金融從業者都是站在街頭,擺上一個小桌子、小凳子之類的在那裏招攬辦信用卡的人。

當然了,我哥做金融中介不代表他賺得不多,他的主要工作是說服一些有錢人去買他們公司的一些理財產品,他從中抽成,旱澇保收。合同裏寫得很清楚,盈虧由客戶自負,他們中介主要收固定的管理費。通過這麼多年的折騰,他成功取得了一群有錢人的信任,每年都會投,他每年就算不去開發新客戶,收入也比那些互聯網大公司的產品經理賺得多。

我問過他金融行業的事,他表示絕大部分都是做金融中介的,因為這個領域最難的事情不是怎麼交易怎麼賺錢,絕大部分交易員的交易盈利情況都趕不上大盤漲幅,剩下的交易員業績還不如隻猴。既然這樣,往往基金公司會買一個組合,也就是一堆以往業績不錯的股票,放在那裏慢慢漲,跟著大盤自由搖擺,基金公司最重要的任務就是去找客戶買基金之類。有了錢以後什麼都好說。

大部分銀行或者金融公司招聘工作人員,很多人被招聘了以後經常是當了前台,痛苦至極。每年都有一堆人找我說這事,當然了,我也隻能是聽聽,給不出什麼合理建議。

金融專業的人嚴重過剩。最近五年,我每年都會去一線招聘,因為現在國內的大公司,比如騰訊、阿裏巴巴、華為等大公司,都開始讓項目負責人去招聘,人事經理隻負責把關,看看應聘的人有沒有精神病或者心理素質怎麼樣,所以我這樣的技術相關領域的就得去招聘。我在招聘的過程中發現一個問題,就是海歸[1]太多了。軟件行業海歸非常多,金融行業的海歸更多。可能是拜前些年對海歸的無底線崇拜,大批在國內考不上好大學的孩子被送到了海外去深造,這些人嚴重拉低了海歸的含金量。

最近幾年人事經理基本都專業化了,小公司我不知道,大公司的人事部門到處是留學歸來的Linda和Abby,事實上留學生回國做人事已經是行業慣例了。這些留學歸來的人當然最了解留學生——有次吃飯,一個叫Jade的女生給我們普及了哪些大學是可以直接花錢上的,哪些大學隻收有錢人,哪些大學是普通人無論如何也上不起的。我當時聽得一愣一愣的,畢竟我們這些國內的學生十萬以內就可以把大學讀完,有人甚至沒帶錢就去上大學,靠的是親戚、鄰居的支持就能把大學讀完。人家留學生要花數百萬。她一句話總結,英聯邦的畢業生整體優勢非常低,北美的相對較高。英聯邦包括英國、澳大利亞、新西蘭等,大家去留學的時候仔細考慮下。這個趨勢現在已經很明顯,再過五六年會更加明顯。

為什麼講到留學生了呢?因為這些年去海外留學的十個裏麵有七個是金融專業,而金融行業的整體需求量並不高。

如果你家裏條件好,並且對這個金融行業心裏有數再去報考;如果家境一般,以為學了金融就可以賺錢,我勸你盡快放棄幻想。

再來說下碼農。碼農裏有將近一半不是計算機專業或者軟件專業出身的,很多都是自動化機械專業的,也就是說如果你大學沒讀計算機專業,將來去做計算機相關的專業,也沒有太大門檻。

能夠拿到高工資主要是集中在互聯網大公司中,這些公司財大氣粗,所以工資高。此外還有一些剛融到資的公司,這類公司現在很少了。2018年的時候,有的剛融到資的公司工資高到離譜。我曾招聘過一個人,轉眼就被一家新公司以月薪八萬搶去做區塊鏈了,後來市場上突然沒錢了,倒閉了一堆企業,其中包括這個人去的企業,因此這個人也失業了。

雖然碼農的工資不會再像以前一樣出現井噴式的高工資了,但是碼農這種智力密集而且有一定門檻的行業,注定在很長一段時間內工資不會太低。

大家肯定有納悶的地方,那麼多人去做碼農,會不會飽和?飽和倒是也夠嗆,而且碼農也分三六九等,飽和之後可能會拉低整體的工資,不過優秀的碼農依舊可以去好的公司繼續升職加薪。

每年碼農寫那麼多代碼,代碼就跟吃剩下的飯一樣,放久了就發黴——如果沒人維護,產品很快就沒法用了,這也是我為什麼說將來代碼會越來越多,需要的碼農也越來越多。至於人工智能,聽聽就得了。如果你現在就擔心人工智能會取代你,幹什麼都擔心驚怕,那你趁早別幹了,不用等人工智能取代你,你周圍的人就把你給取代了。

當然,做通信工程師之類的碼農並不是十分輕鬆的事情,尤其國家級的通信網絡複雜極了,每台設備都有上億行代碼,而且包括幾十個廠商,出現了不以人意誌為轉移的混沌性和隨機性,經常不知道它為什麼壞了,不知道為什麼它又自己好了,所以各國都盡力想一些辦法來增加網絡的穩定性,一些國家甚至有給服務器開光的習慣。

很多讀者覺得我寫的曆史很有意思,於是他們就問我將來去讀曆史專業怎麼樣。我非常不建議讀曆史專業。如果你喜歡曆史的話,和我一樣研究就可以了,不然學了這個專業大概率一畢業就失業。

我也不太建議家裏沒有經濟實力的人去讀經濟學專業,參考我上麵講到的金融學專業的就業情況。從我了解到的情況來看,經濟、金融知識主要對寫財經類文章那類人有大的價值,因為那些複雜的金融用語隻有在吹牛時候才有用,真實的金融業主要是談項目、談分紅。你天天講經濟學術語和金融學術語,但是你的客戶是那些有錢人或者企業家,他們既不懂經濟學又不懂金融。想賺錢,你學經濟學和金融學還不如去學會計。

我之前做過調查,幾乎所有學了醫的小夥伴都反應自己極其忙,賺錢雖然還行,但是真的非常疲勞。

如果你去過美國就會發現,那邊的醫生都是金領。我之前提到過,我認識的一個美國牙醫家裏竟然有小飛機,著實把我嚇了一跳,後來才知道美國牙醫能賺這麼多的有很多。醫生在美國是賣高端服務的。在我們國家,醫生是為老百姓服務的,他們真的很辛苦,是很值得我們尊敬的群體。

我說了這麼多,很多人會問,你能不能不拐彎抹角,能不能一句話概括下?——總結起來就是:如果你家很有錢,選什麼都沒問題,你甚至可以去學哲學。但是如果你跟我一樣出身很普通,我建議往技術層麵的專業上靠,技術類的專業幾個好處:

首先,技術是相通的,而且你學了技術性強的專業,選擇的餘地要大得多——你學了自動化專業分分鍾可以去做計算機專業的事,你實在做不了計算機專業相關的事情,還可以去鏈家賣房。

如果你不是技術專業出身,想去做技術,你就得從頭再學技術,不管是時間成本,還是金錢成本,都要大得多。這也是為什麼學數學的人轉行比較容易,盡管我經常說月薪兩三萬的碼農隻用得著初中數學,主要是他們學的是硬通貨的知識。

其次,學習技術可以有效治療自大狂的病。一般長期不幹技術,就會產生一種懷才不遇的錯覺。隻有你學技術,才會知道隨便一個小問題都可以讓人折騰好幾個通宵,人多多少少會謙恭一些;也會開始意識到社會比較複雜,而不是天天批評社會這不正常那又不對。

最後,學了技術強的專業容易找工作,騎驢找馬嘛。玩過《絕地求生》的人都知道,有時候著急找輛車,跑斷腿都找不到,但是一旦先找輛車,哪怕是個破摩托,很快就可以找到別的車,找到車之後就能發現到處是車。把握住一個大機會之後,人生到處是機會。

另外,大家不要被社會上各種獵奇、誇張的新聞給迷惑了雙眼,現在遠遠沒到“月薪一萬活不下去”的地步,埋頭做好自己的事,抬頭隨時關注趨勢,畢竟,坐在潮頭,奮鬥一年頂十年。