你為什么選擇程序員這個(gè)職業(yè)?
關(guān)于為何選擇程序員這份工作,各有各的答案。有的人因?yàn)橄矚g代碼的對(duì)話邏輯,有的人因?yàn)榭粗谐绦騿T的較高薪資。有人追名,有人逐利,有人為了夢(mèng)想,還有人僅僅只是想做些實(shí)際的小事。你的答案,又是什么?
寫在前面
前幾天和兩位發(fā)小聚餐,我們?nèi)齻€(gè)人都選擇了程序員作為自己的職業(yè)。初始時(shí)三個(gè)人差不多,往后的十幾年開(kāi)始出現(xiàn)了發(fā)展偏差,現(xiàn)在的我們進(jìn)入到了職業(yè)的重要選擇點(diǎn),三個(gè)人的選擇出現(xiàn)了較大的偏差,幸運(yùn)的是每個(gè)人都走在了適合自己的道路上,感覺(jué)應(yīng)該寫一篇文章對(duì)程序員這份工作做一個(gè)個(gè)人理解的分享。
第一句話就問(wèn)了大家為什么從事了程序員這份工作,我先來(lái)談?wù)勛约旱那闆r。我一直認(rèn)為,如果勉強(qiáng)自己做一件不喜歡的事情,那么很難有動(dòng)力在今后的工作中繼續(xù)前進(jìn)。選擇成為一名程序員,大概是在 16、7 歲的時(shí)候,那時(shí)候父母給我買了第一臺(tái)電腦(一臺(tái) 586 電腦),給自己的內(nèi)心種下了一顆種子。IT 行業(yè)是個(gè)知識(shí)更新非??斓男袠I(yè),其他行業(yè)也在發(fā)展進(jìn)步,但是相對(duì)而言沒(méi)有這么快的節(jié)奏,而我是一個(gè)喜歡嘗試新事物的人,心理承受能力也還可以,所以程序員貌似會(huì)是一個(gè)不錯(cuò)的選擇。此外,IT 行業(yè)的機(jī)會(huì)很多,也適合我這樣的普通人家孩子,站在現(xiàn)在的年紀(jì)回顧過(guò)去,自己沒(méi)有選錯(cuò)。
注意,今天的這篇文章,我只是對(duì)程序員這份工作所需要面對(duì)的問(wèn)題挑選一些有意思的話題講講我的理解,并不是對(duì)程序員的職業(yè)規(guī)劃進(jìn)行分享。本文分為入行前和入行后兩個(gè)部分,分別聊聊。
入行前
所謂入行前,其實(shí)就是指還是學(xué)生的你是否應(yīng)該選擇程序員作為你的職業(yè)工作、如何獲得這份工作。作為一名學(xué)生,你真的要想清楚是否程序員這份工作適合你,因?yàn)樗鼱砍兜膫€(gè)人精力實(shí)在太多,導(dǎo)致你不可能有太多的個(gè)人愛(ài)好。大家都知道,很多程序員會(huì)自嘲稱呼為碼農(nóng),目前來(lái)看,程序員是最容易逆襲的職業(yè),碼農(nóng)也是從收入角度最容易逆襲的工作,但同時(shí)碼農(nóng)也習(xí)慣了自嘲,于是把自己描繪的異常辛苦,總覺(jué)得自己賺錢多是應(yīng)該的,因?yàn)樘哿恕?/p>
入行前,作為學(xué)生的你們,除了正常的上課、實(shí)習(xí)之外,還可以通過(guò)一些競(jìng)賽類的準(zhǔn)備工作提升自己的技術(shù)能力,此外,一般也需要通過(guò)校招進(jìn)入技術(shù)含量較高的科技公司。針對(duì)這兩點(diǎn),我分別談?wù)勛约旱目捶ā?/p>
對(duì)于 ACM 的理解
以個(gè)人的經(jīng)驗(yàn),搞 ACM 的學(xué)生遇到的問(wèn)題,有點(diǎn)類似與高中各科競(jìng)賽,需要為了競(jìng)爭(zhēng)而學(xué)習(xí)比較深層次的知識(shí),擁有大量做題帶來(lái)的經(jīng)驗(yàn),但致命的是除了頂尖高中競(jìng)賽選手和頂尖大學(xué)的 ACMer 之外,其余所有人學(xué)習(xí)的知識(shí)都不太系統(tǒng),尤其是數(shù)學(xué)上的。
大多數(shù)人對(duì)數(shù)學(xué)的學(xué)習(xí)僅僅局限于數(shù)據(jù)結(jié)構(gòu) / 離散數(shù)學(xué),可能因?yàn)?ACM 要有數(shù)論題而學(xué)習(xí)了一點(diǎn)數(shù)論和組合數(shù)學(xué)的皮毛,具體就不會(huì)深入看進(jìn)去了。結(jié)果,ACMer 的數(shù)學(xué)功底并沒(méi)有因?yàn)?ACM 的做題訓(xùn)練而提高多少,對(duì)算法的理解甚至可能是僅局限于套用算法模板,這對(duì)于未來(lái)想從事算法研究的人來(lái)說(shuō),無(wú)論是在公司為了某個(gè)任務(wù)做優(yōu)化,還是在研究機(jī)構(gòu)發(fā)論文,都會(huì)存在致命的基礎(chǔ)短板。
ACM 除了算法之外,帶來(lái)的間接好處是可以提高編程能力,但很明顯提升編程能力的主要途徑就是編程,至于寫什么樣的代碼、什么語(yǔ)言的代碼,區(qū)別不是很大。但不可否認(rèn),ACM 確實(shí)是一個(gè)可以鍛煉寫代碼能力的機(jī)會(huì)。
公平地說(shuō),ACM 依然是我接觸的大學(xué)里所有比賽中最公平、最鍛煉能力的。在我看來(lái),ACM 這種準(zhǔn)備時(shí)間長(zhǎng)、比賽時(shí)間短、評(píng)價(jià)體系又比較客觀的競(jìng)賽,應(yīng)該是最鍛煉人能力也最有說(shuō)服力的。因此如果想?yún)⒓颖荣悾珹CM 應(yīng)該是計(jì)算機(jī)專業(yè)的首選,但并不是說(shuō) ACM 有價(jià)值,而是 ACM 是否是最有價(jià)值的事情,應(yīng)該也不是,因?yàn)?ACM 本身就是一種游戲,它可以讓人癡迷,可以讓人形成一種容不得別人說(shuō) ACM 不好的圈子。不管怎么說(shuō),可以肯定的是,ACM 的經(jīng)歷讓學(xué)生更容易被公司相中,因?yàn)?ldquo;平均水平”高一些,起碼覺(jué)得搞 ACM 的更有可能靠譜,尤其是編碼能力這種無(wú)法體現(xiàn)在簡(jiǎn)歷上的實(shí)際能力。
參加校招
最近幾年讀參與了公司組織的校園招聘工作,每次去都會(huì)見(jiàn)到大量的學(xué)生,我喜歡和他們交流,觀察他們的一言一行,為了進(jìn)一步考察他們的綜合能力和性格組成,我每次都會(huì)自己準(zhǔn)備面試題,這些題目包括了編程基本概念、算法編程題、操作系統(tǒng)、數(shù)據(jù)庫(kù)編程、開(kāi)源代碼閱讀、垃圾回收機(jī)制、系統(tǒng)架構(gòu)描述、實(shí)習(xí)期經(jīng)歷回顧、人生過(guò)程中遇到過(guò)的挫折、對(duì)于工作氛圍的想法、未來(lái)的職業(yè)發(fā)展方向設(shè)定等。
這些問(wèn)題中其實(shí)大多數(shù)都是開(kāi)放式問(wèn)題,一些是沒(méi)有固定的答案,另一些甚至于是完全開(kāi)放式的,需要學(xué)生提出問(wèn)題。我的這組題目中,可能只有編程基本概念這一條有固定的標(biāo)準(zhǔn)答案,算法編程、數(shù)據(jù)庫(kù)編程都有多種回答方案,只不過(guò)每一種回答的運(yùn)行效率不同,這些都屬于半開(kāi)放式的技術(shù)問(wèn)答。操作系統(tǒng)、開(kāi)源代碼閱讀、垃圾回收機(jī)制、系統(tǒng)架構(gòu)描述,這些個(gè)問(wèn)題則屬于是自己出題的題目,為什么這么說(shuō)?因?yàn)槲視?huì)根據(jù)你所了解的知識(shí)點(diǎn)一點(diǎn)點(diǎn)地深究下去,一點(diǎn)點(diǎn)往下問(wèn),所以這是完全開(kāi)放式的技術(shù)問(wèn)答。實(shí)習(xí)期經(jīng)歷回顧、人生過(guò)程中遇到過(guò)的挫折、對(duì)于工作氛圍的想法、未來(lái)的職業(yè)發(fā)展方向設(shè)定,這四個(gè)問(wèn)題屬于非技術(shù)領(lǐng)域的完全開(kāi)放問(wèn)答,我之所以提出這些問(wèn)題,是希望能夠更加接近學(xué)生的真實(shí)生活、內(nèi)心想法,了解學(xué)生的過(guò)往經(jīng)歷、三觀,以及周圍環(huán)境,這樣可以決定是否錄用,以及如何更好地發(fā)揮學(xué)生的能力。
我講一下自己的校招經(jīng)歷。很多年前,我去參加一家德國(guó)企業(yè)的面試,總經(jīng)理是位中國(guó)人,50 來(lái)歲的老博士,他讓我談?wù)剬?duì)于公司情況的了解情況,其實(shí)我已經(jīng)做足了功課,把他們網(wǎng)站上的英文背出來(lái)了,我一邊背,他一邊睜大了眼睛,扶了扶眼鏡,還糾正了對(duì)于創(chuàng)始人德文名字的發(fā)音錯(cuò)誤,然后和我說(shuō):“你有什么要求,現(xiàn)在就可以提”。
除了實(shí)際的技術(shù)基礎(chǔ)能力以外,我覺(jué)得一名學(xué)生還需要具備做人的格局,做人不要僅限于眼前利益,不要太實(shí)際,不要只考慮自己。推薦大家擔(dān)任大公司的“校園大使”,這個(gè)工作一定要盡自己最大可能做好,積極配合 HR 小姐姐,其實(shí)過(guò)程中你也在被觀察。
這次就遇到了三位截然不同的大使,第一位非常認(rèn)真,兩天時(shí)間忙上忙下,布置會(huì)場(chǎng)、參與宣講會(huì)、電話聯(lián)系學(xué)生、引導(dǎo)學(xué)生面試流程等等,還找了幾位好朋友過(guò)來(lái)幫忙,忙到自己沒(méi)有時(shí)間參加免于,雖然他存在不太擅長(zhǎng)于溝通的弱點(diǎn),但是我在晚上 9 點(diǎn)結(jié)束面試后,單獨(dú)給他留出了面試時(shí)間,并且和 HR 一起邀請(qǐng)他加入,他很感激地不停鞠躬。人如果能做到對(duì)幫助自己的人心懷感激,這人一定不會(huì)差。第二位,面試當(dāng)天他自己也坐下來(lái)面試了,技術(shù)一般,他自己介紹是校園大使,我正在猶豫時(shí) HR 小姐姐和我聊起了他,“這個(gè)人責(zé)任心太差,請(qǐng)他幫忙招呼學(xué)生,他都懶得說(shuō)話,自己管自己玩手機(jī)、吃飯,請(qǐng)他打電話聯(lián)系沒(méi)有來(lái)的學(xué)生問(wèn)問(wèn)情況,他一臉不屑,好像很看不起我們公司”,“哦,知道了,既然他看不上我么,我們也不用給他機(jī)會(huì)了”,他就這么錯(cuò)過(guò)了一家很棒的公司。第三位,我們面試當(dāng)天她給自己安排了一天的面試,露了個(gè)面后就消失了,等她的事情干完了再跑來(lái)想面試,當(dāng)然,我直接忽視了她。
入行后
關(guān)于深度思考的理解
我覺(jué)得技術(shù)能力是可以培養(yǎng)的,而且可能可以快速培養(yǎng),只要這個(gè)人具備深度思考的能力,因?yàn)橹R(shí)體系的建立一定是基于思考之上的,而不會(huì)是填鴨式的。
多年來(lái)養(yǎng)成一種習(xí)慣,或者說(shuō)不得不養(yǎng)成這樣的習(xí)慣,就是在夜深人靜的時(shí)候,靜靜地思考一天來(lái)的經(jīng)歷。白天,大部分時(shí)間是在異常忙亂中度過(guò),沒(méi)有時(shí)間思考。夜色下來(lái),一切歸于寧?kù)o,望著窗外閃爍的路燈,可以靜靜地思考自己和世界,思考在自己從事的工作中發(fā)生的各種各樣或大或小的事情,從中找出有意義的東西,做一點(diǎn)小小的思想享受。這種思考,對(duì)人是有益的。
一個(gè)人做多了自己的職業(yè)活動(dòng),如果不調(diào)整,就會(huì)變得單一。思想也慢慢定向,沒(méi)有開(kāi)放式的思維方式,所以要在緊張的大腦和肢體活動(dòng)之余,發(fā)現(xiàn)思維的新空間。作為一名軟件工程師,我的大部分時(shí)間都用在了這個(gè)領(lǐng)域,我也發(fā)現(xiàn),生活上的幾乎所有細(xì)節(jié)也可以被放在這個(gè)領(lǐng)域里找到對(duì)應(yīng)點(diǎn)或面,此外,程序員也需要從產(chǎn)品、運(yùn)營(yíng)方面思考技術(shù),這樣才能不斷開(kāi)闊自己的思考方式。我之所以愿意把這些思想“沉淀”積累起來(lái),不是因?yàn)樗鼈冇刑貏e的價(jià)值,而是因?yàn)樗鼈兪窃趯庫(kù)o的外界和寧?kù)o的內(nèi)心狀態(tài)下形成的,寧?kù)o致遠(yuǎn),對(duì)于擁有技術(shù)愿景的程序員來(lái)說(shuō),這是一個(gè)值得追求的境界。
對(duì)于工作時(shí)間的理解時(shí)間是很值錢的,這種事情很多時(shí)候必須是上完學(xué)開(kāi)始工作了才能理解。一個(gè)原因是對(duì)絕大多數(shù)學(xué)生來(lái)說(shuō),工作之后的空閑時(shí)間會(huì)變少,那么原來(lái)業(yè)余生活里快感度比較低的事情就不做了,這是因?yàn)槟愕臅r(shí)間可以換來(lái)收入,而收入可以用來(lái)在空閑時(shí)間換取更爽的快感,那么你的選擇空間也就更多了。上學(xué)的時(shí)候,空閑的時(shí)間太多,以至于連寫東西吐槽、在網(wǎng)上跟人互噴,都能排上日程。
我在一篇描述自我管理方式的文章里不小心說(shuō)出了自己每天的工作時(shí)間(這里說(shuō)的工作時(shí)間,其實(shí)也是學(xué)習(xí)時(shí)間,對(duì)于程序員來(lái)說(shuō),所有工作時(shí)間都是可以用來(lái)學(xué)習(xí)的,就看你會(huì)不會(huì)找方法),10-12 個(gè)小時(shí),引起了讀者的一波評(píng)論,我可以肯定的回答,確實(shí)是這樣的。作為一名程序員,我認(rèn)為你每周的工作時(shí)間應(yīng)該保持在 60-65 個(gè)小時(shí),因?yàn)槲覀冞@個(gè)行業(yè)的技術(shù)更新速度實(shí)在太快了,我認(rèn)識(shí)的所有厲害的大牛都是這么熬過(guò)來(lái)的,沒(méi)有人可以用很短的時(shí)間學(xué)會(huì)別人花費(fèi)很長(zhǎng)時(shí)間學(xué)會(huì)的技術(shù)。當(dāng)然,每周的工作時(shí)間最好能夠控制在 75-80 個(gè)小時(shí)以內(nèi),畢竟一個(gè)人的睡眠是需要保證的,也需要有一些陪伴家人的時(shí)間、個(gè)人娛樂(lè)時(shí)間。
關(guān)于公司的選擇
我們發(fā)小三人,畢業(yè)后走上了不同的道路。一位一直在小型公司作為主力程序員,雖然也去過(guò)大公司,但是受不了那里的管理方式,最終選擇了走上自己創(chuàng)業(yè)的道路,開(kāi)了工作室。一位進(jìn)了軍工行業(yè)的研究所,一干 15 年,已經(jīng)習(xí)慣了固定節(jié)奏的開(kāi)發(fā)模式,雖然收入不能和外面的企業(yè)比,但是也挺舒服的,準(zhǔn)備干到退休。一位在幾家大公司干,工作的公司規(guī)模越來(lái)越大,他也習(xí)慣了按照研發(fā)流程和技術(shù)管理方法論工作,雖然每天需要面對(duì)的是激烈的內(nèi)部和外部競(jìng)爭(zhēng)環(huán)境、技術(shù)變更、產(chǎn)品驅(qū)動(dòng)壓力,但是也已經(jīng)習(xí)慣了壓力,繼續(xù)著自己的道路。人各有志,也各有各的優(yōu)劣勢(shì),找到屬于自己的那一個(gè)點(diǎn),盡力放大吧。
如果你希望自己在某一個(gè)或幾個(gè)領(lǐng)域成為資深碼農(nóng),你應(yīng)該選擇有技術(shù)并且有業(yè)務(wù)的大公司。技術(shù)層面,既要有技術(shù)積累,也要有高水平的同事。業(yè)務(wù)層面,要讓業(yè)務(wù)對(duì)基礎(chǔ)架構(gòu)有足夠的挑戰(zhàn)性。其實(shí)當(dāng)前滿足后者的公司比前者多得多,畢竟讓大多數(shù)互聯(lián)網(wǎng)公司所做的事情來(lái)說(shuō),技術(shù)都不是決定性的,提前對(duì)技術(shù)做過(guò)于超前的儲(chǔ)備大概率會(huì)浪費(fèi)。反過(guò)來(lái),假設(shè)一個(gè)公司有技術(shù)積累又有高水平的員工,一旦業(yè)務(wù)上不去高水平員工肯定會(huì)跑,最終只剩下哪些當(dāng)年技術(shù)比較不錯(cuò)的技術(shù)人員,長(zhǎng)期來(lái)看技術(shù)早晚要落后。這些原因?qū)е聵I(yè)界很多公司存在業(yè)務(wù)發(fā)展非??於夹g(shù)跟不上的情況,去這樣的公司也一樣有挑戰(zhàn),但做的工作未必系統(tǒng),而且同事的能力也不見(jiàn)得有保障。
怎么看技術(shù)人員話語(yǔ)權(quán)不高
一位朋友原先是做分布式數(shù)據(jù)庫(kù)的,最近跳槽去了一家做無(wú)人車的公司,和他聊了一下,了解他的看法。做無(wú)人車和軟件基礎(chǔ)設(shè)施相比,最大的區(qū)別是做軟件基礎(chǔ)設(shè)施的技術(shù)人員,尤其是搞數(shù)據(jù)庫(kù)開(kāi)發(fā)的程序員,很多時(shí)候解決的是技術(shù)的門檻問(wèn)題。我們認(rèn)為數(shù)據(jù)庫(kù)的一切問(wèn)題歸納為本質(zhì)上是“可用”的問(wèn)題,對(duì)業(yè)務(wù)來(lái)說(shuō)能扛住壓力不丟數(shù)據(jù)不超時(shí),并且各種功能都支持,這就是“可用”,至于在高并發(fā)情況下依然“可用”,那就是“高可用”。一旦把技術(shù)問(wèn)題轉(zhuǎn)化為“可用”的問(wèn)題,就會(huì)讓技術(shù)變成一個(gè)門檻,達(dá)不到的話業(yè)務(wù)受影響,達(dá)到后業(yè)務(wù)做得好或是壞,其實(shí)和技術(shù)的關(guān)系就不那么大了。這也是很多公司技術(shù)人員話語(yǔ)權(quán)不高的原因。
關(guān)于為什么去做高難度的技術(shù)
例如像 BAT、華為、小米這樣的大公司,對(duì)軟件基礎(chǔ)設(shè)施的門檻要求還是比較高的,所以這個(gè)工作還是比較有技術(shù)含量的,尤其是比大多數(shù)實(shí)現(xiàn)業(yè)務(wù)邏輯、項(xiàng)目經(jīng)理需求的工作有技術(shù)含量。就我前面提到的這位朋友的情況而言,無(wú)人車有更大的吸引力,因?yàn)樗y,難到我們并不確定什么時(shí)候才能真正做出來(lái)。表面上看它也是一個(gè)門檻—一個(gè)“可用”的無(wú)人駕駛技術(shù),但因?yàn)殡y度足夠大,所以有挑戰(zhàn)性,必須不斷地改善技術(shù),做全球范圍內(nèi)還沒(méi)有做出來(lái)的技術(shù)。搞數(shù)據(jù)庫(kù)時(shí)處理的一些問(wèn)題可能是其他公司已經(jīng)解決的,并非“人類”都還沒(méi)有解決的問(wèn)題。很多時(shí)候需要和其他公司交流,互相借鑒經(jīng)驗(yàn),或者看看 Google 這樣的領(lǐng)航者是怎么做的。
而做無(wú)人車因?yàn)檫@個(gè)領(lǐng)域很新,也都沒(méi)做成熟,不存在誰(shuí)跟隨誰(shuí)的問(wèn)題,甚至嚴(yán)格來(lái)說(shuō)并不存在領(lǐng)航者。到了一定程度后,自己取得的里程碑可能就是行業(yè)的里程碑了。無(wú)人駕駛是剛需,誰(shuí)做出來(lái)誰(shuí)賺大錢。相對(duì)應(yīng)的,有些創(chuàng)業(yè)項(xiàng)目是解決了不存在的需求,有些項(xiàng)目是解決了存在的需求但不怎么賺錢。無(wú)人車是存在的需求,市場(chǎng)規(guī)模很大的需求,技術(shù)含量很高的需求。無(wú)人車并不是今年才有的,但在這個(gè)行當(dāng)?shù)娜艘膊凰闾唷_@個(gè)時(shí)候去做,雖然不算什么行業(yè)先驅(qū),但是也親身經(jīng)歷了行業(yè)比較初期的發(fā)展了。當(dāng)然無(wú)人車本質(zhì)上也是個(gè)大數(shù)據(jù)的行業(yè),必然還會(huì)涉及到數(shù)據(jù)的存儲(chǔ)、計(jì)算等等,這不就更棒了嘛。
另外,這個(gè)世界的進(jìn)步,尤其是科技進(jìn)步一定是需要聰明人去推動(dòng)的,聰明人集中的地方進(jìn)步就會(huì)快。冷戰(zhàn)的時(shí)候搞軍備競(jìng)爭(zhēng)、太空競(jìng)爭(zhēng),政府大規(guī)模投錢搞,自然聰明人集中從而發(fā)展迅速。冷戰(zhàn)結(jié)束后政府投入下降,這個(gè)領(lǐng)域的進(jìn)步就小了,因?yàn)槁斆魅送A爾街跑了,后來(lái)又往硅谷跑。我一直以來(lái)的觀點(diǎn)就是,聰明人和美女總是會(huì)集中在有錢和有資源的地方。哪個(gè)公司聰明人或者美女多,就說(shuō)明哪個(gè)公司的待遇好并且人們認(rèn)為這個(gè)公司有前途。因?yàn)槁斆骱推炼际敲嬖嚰臃猪?xiàng),因而他們能拿到更好的 Offer,能把這些人吸引來(lái)的公司必然是提供了好 Offer 的公司。
關(guān)于技術(shù)人員的上升通道
為什么說(shuō)技術(shù)人員的上升通道局限比較大?曾經(jīng)聽(tīng)移動(dòng)的一位總經(jīng)理說(shuō)過(guò),所有的高層管理者都需要一個(gè)抓手,也就是管理基點(diǎn),他是不會(huì)放手這個(gè)基點(diǎn)的,例如運(yùn)營(yíng)、產(chǎn)品、業(yè)務(wù)邏輯,或是技術(shù)。PM 出生的管理者還是會(huì)繼續(xù)考慮產(chǎn)品,運(yùn)營(yíng)出身的管理者還是要考慮運(yùn)營(yíng),但技術(shù)出身的管理者到了一定級(jí)別不見(jiàn)得還要考慮技術(shù),特別是技術(shù)細(xì)節(jié)。這樣的人時(shí)間久了就做不回碼農(nóng)了,可能連一線的技術(shù)經(jīng)理都做不了了。大公司高級(jí)別的碼農(nóng)就算不寫代碼至少知道最新技術(shù)的發(fā)展方向并且實(shí)際設(shè)計(jì)和運(yùn)用加和人扯淡,出去還是能當(dāng)個(gè)同級(jí)別架構(gòu)師。小公司 CTO 很容易既不寫代碼又不了解大方向,出去只能找人接盤接著當(dāng) CTO,還可能被覺(jué)得沒(méi)水平。
關(guān)于跟進(jìn)最新技術(shù)的重要性
工作上一定要跟進(jìn)最新技術(shù)的發(fā)展動(dòng)向,某種程度上這和炒股差不多,看好業(yè)績(jī)的話提前埋伏進(jìn)場(chǎng)。比如若干年前剛有安卓 ios 的時(shí)候,很多人還在塞班上開(kāi)發(fā),但眼光好的第一時(shí)間就轉(zhuǎn)行到了安卓、ios,因?yàn)橄日剂丝釉谧钕∪钡臅r(shí)候搶占了先機(jī),跟早畢業(yè)的道理一樣,可能比你晚兩年轉(zhuǎn)行的人處處占了先機(jī),差距越來(lái)越大。當(dāng)然也有可能賭輸了,例如 Windows 編程。
每一次業(yè)界的革命,都會(huì)讓一些公司落寞而讓另一些公司崛起,碼農(nóng)也一樣,每一次技術(shù)換代也都會(huì)讓一些碼農(nóng)沒(méi)落而讓另一些碼農(nóng)崛起。在技術(shù)換代面前,之前的工作經(jīng)驗(yàn)不至于一文不值,但也大打折扣。另外,正因?yàn)榧夹g(shù)不斷換代,學(xué)的快的才比單純年輕的有優(yōu)勢(shì),如果技術(shù)完全停滯,干五年左右技術(shù)就不再成長(zhǎng),那么畢業(yè)五年后還當(dāng)基層碼農(nóng)的失業(yè)風(fēng)險(xiǎn)就越來(lái)越大,這也是某通信大廠被傳聞的所謂“35 歲裁員”的寫實(shí),聽(tīng)說(shuō) 35 歲主要針對(duì)的就是這些基層碼農(nóng),45 歲針對(duì)的是基層碼農(nóng)和技術(shù)一線管理者。不斷地盼望著(如果能力夠強(qiáng)也可以自己創(chuàng)造)新技術(shù)的出現(xiàn),并且自己保持著不亞于年輕人的學(xué)習(xí)能力,自然就降低了高齡失業(yè)風(fēng)險(xiǎn)。
至于做管理,也是一種出路,因?yàn)樵诠芾淼慕?jīng)驗(yàn)積累上很難有天花板的說(shuō)法,十年管理經(jīng)驗(yàn)可能有很大一部分確實(shí)是后五年積累的,而不像寫代碼,但是也要考慮做管理和技術(shù)脫節(jié)的問(wèn)題,得保證這個(gè)公司不要你了,你的管理經(jīng)驗(yàn)是能用在其他公司的。作為技術(shù)管理者實(shí)際上也還是要掌握最先的技術(shù)并且能用于自身業(yè)務(wù),比如你說(shuō)你懂大數(shù)據(jù)、高并發(fā)訪問(wèn)的架構(gòu)設(shè)計(jì),但前公司的產(chǎn)品 TPS 只有幾百,你覺(jué)得你的技術(shù)有實(shí)踐過(guò)嗎?只能強(qiáng)調(diào)自己管多少人的話,可能不是互聯(lián)網(wǎng)公司技術(shù)出身管理者的出路。
寫在最后
作為一名程序員,你需要保持三種感覺(jué),饑餓感、疲勞感和孤獨(dú)感,學(xué)習(xí)的目的是因?yàn)橄胍獙W(xué)習(xí),學(xué)習(xí)的過(guò)程是很單調(diào)的,經(jīng)常需要獨(dú)自搜索網(wǎng)上的資料,獨(dú)自前進(jìn),學(xué)習(xí)時(shí)間長(zhǎng)了會(huì)很累。做技術(shù)的人容易仰望星空,但是仰望星空前需要做好腳踏實(shí)地,掌握好基礎(chǔ)技術(shù)、動(dòng)手能力強(qiáng)、三觀正、具有較強(qiáng)的為人處事能力,這四點(diǎn)是一切可持續(xù)發(fā)展的基礎(chǔ)。僅以此文獻(xiàn)給在路上的我們?nèi)耍布o(jì)念我們的青蔥歲月,進(jìn)入職業(yè)生涯的中期,我們?nèi)孕柝?fù)重前行。