1. 程式人生 > >程式設計師如果不學好底層,將毫無作為

程式設計師如果不學好底層,將毫無作為

640?wx_fmt=png

王安石在《遊褒禪山記》中有一經典句“而世之奇偉,瑰怪,非常之觀,常在於險遠,而人之所罕至焉”,在我剛參加工作時,我是做的應用層,對於新人來說,需要快速學習和掌握技能,有時不求甚解,只要實現就行,因為時間有限,來不及讓你去了解更細的東西。問別人,別人總是說,你先按我的來吧,後續有時間再給你講講。後續很難有時間,於是只有自己琢磨。在武學裡面,有內功一族,和招式一族招式一族,適合入門,這樣有趣,可以學習各種花招,會伴隨有成就感,能快速得到成果,但容易遇到職業瓶頸,後勁不足。內功一族,注重內功,瞭解原理,作為稀缺的高水平人才資源,能有更多選擇的權力,有更長遠的發展。

學習一個招式,學會這些可以讓你比較容易找到一個工作,但是幾年之後會碰到你的職業瓶頸,要麼繼續學底層,要麼轉行。即使你在BAT,

公司也會毫不猶豫地找人來替代你。所以很多大廠為什麼動不動問演算法,問資料結構,以及最優解。C++程式設計師從發展至今,從來不用擔心失業,大部分有特色的功能都需要底層做支撐,遊戲引擎,播放引擎,影象引擎。每個人切入這個行業的方法不盡相同,能選擇最適合自己的入門方式就是最好。但是入門後如果想有更好和更長遠的發展,必須開始崇尚內功一族,瞭解內部技術細節,修煉好內功。不要流於形式,浮於表面,依賴工具,而是要深鑽進去,瞭解得越深越透徹越好。最好是能自己瞭解各種引擎的底層原理,甚至是寫出自己的引擎來,這樣才是更高的境界(當然這只是極少部分的頂尖高手能達到的境界)。

很多人說,既然做技術,就要痴迷於技術。同時也要弄出點名堂出來。但是大部分人認為進一家有名氣的公司就滿足了。有名氣的公司只會讓你更負重前行。如果一個騰訊出來面試某個崗位,他比從普通公司出來要求就要高不少。因為,我們通常認為你是專業的,一旦你表現不專業,就會大打折扣。所以如果持續深入做技術,就要對自己狠。不然以後,機會對你來說,很多,但是你一個都抓不住。從而慢慢轉向普通大眾。我們並不是說支援完全去從頭造輪子,而是你理解的越深,就可以收放自如,做個有選擇權的強者。當沒有合適你的輪子的時候,當遇到技術瓶頸的時候,你自己完全可以製造個更好的,前所未有的輪子,而不是懵在那邊,等待你所謂的巨人們心情好後的施捨,造一個合適的輪子給你用,或者因為長久以來的太依賴工具而喪失了本來的能力。

但如果已經在某個領域花了10年甚至更長的時間,還沒能有所突破,那就得反省自己,是不是方法問題了,是不是方向問題了,是不是之前研習的時候,或進度太慢,還是走了很多彎路。我們都清楚,並不是每個人都能有很好的技術天賦與底子,當然也不是每個做開發的人都要去理解和實現底層,要量力而行,要有所側重,要找到自己最合適的角度。我們只是從長遠來看提倡將知識挖深,讓自己開啟眼界,不做井底之蛙,不隨波逐流,讓自己因為站得高看得遠,而有更多更廣選擇的權利。

如果你也對音視訊、多媒體、Android底層感興趣,歡迎來我的星球《程式設計師突圍》,我們一起討論有意思的事情。

640?wx_fmt=png