聊聊前端工程師如果做職業規划
大家好,這里是瀟晨,這篇文章不聊技術,聊一個比較開放的問題,程序員如何做職業規划。
其實這個這個問題還是比較寬泛的,因為每個程序員的專業能力、背景、經歷都不一樣,所以對每個人來說很難總結出一個普世的職業發展建議,但是如果具體到每個專業,比如前端工程師,具體到某一個年齡,比如35歲前,那還是能歸納出一個比較完善和通用的職業發展建議了。
1.專業能力方面
作為前端程序員,千萬不要只會使用某個框架或者庫,因為這些都是會隨時變化或者更新的,人的精力是有限的,可能今天流行這個框架,明天就是另一個框架了,在說前端技術變化這么快,可能你現在用的技術過1年就不那么香了。
解決方案當然是拓展自己技能的深度,在一些核心能力上下功夫,比如源碼、數據結構和算法,就像武俠小說里的招式和內力一樣,這些框架和庫,都是招式,而數據結構、設計模式、源碼架構的思想才是你的內力,招式打的好不好,用出來的效果怎么樣,都需要強大的內里支持,招式在變化,核心的算法和優秀的設計模式都是基礎,這些才是不太變化的東西。
舉個栗子,react源碼中用到了大量的鏈表,比如hooks鏈表,update鏈表、fiber樹等,調度的過程使用了小頂堆,優先級的計算使用了二進制位運算的融合,還有對比新老節點的diff算法,那大家有沒有思考過react框架為什么會使用這么多的數據結構和算法,本質原因就是為了構建快速響應的應用,既然優秀的工程師設計的優秀的庫都用到了這么多數據結構和算法,我們還有什么不學習的理由呢
在舉個例子,比如你日常開發中要優化組件,那如果你沒有什么源碼的底層,不了解你所使用框架的運行機制,怎么能做好性能優化呢,比如你用的是react,你不了解異步可中斷的更新,不了解concurrent模式是怎么優化cpu層面和io層面的設計,那你肯定不能設計好一個高性能組件。
2.公司選擇方面
如果你可以選擇小公司和大公司,一定要選擇大公司,也不是說說小公司不好,只是大公司的平台優勢和跳槽勢能,還有技術的廣度、基礎建設上不是小公司可以比的,如果你在一家大公司覺得沒什么上升通道了可以跳到另一家頭部互聯網公司,只有當你做好了充足的准備,不滿足於上班拿工資,才可以加入你認為有潛力的小公司,並且一定要拿到股權,這樣才有可能翻盤。
在選擇公司方面,一定要做好充分的了解,比如公司的前景、團隊氛圍、技術棧等等,這些都是需要考慮的地方,每個公司其實團隊之間的差異也是非常大的,如果你有一個好的leader,那才是一件非常幸運的事。
還有一點,不建議去外包,也不建議去國企或者傳統行業做開發,一是一般這些公司技術比較落后,在里面呆上幾年之后,你的技術會落后市場一大截,到頭來跳槽就得不償失了。
3.職業選擇方面
如果你能靜的下心來學習,那不建議你轉行,生活和技術都是圍城,大家都在羡慕着別人,其實不知道其他人也水深火熱,自己的技能和專業才是你的優勢,如果能在花些時間精進自己的能力,學些日常使用的框架的原理、源碼、學習數據結構和算法、設計模式等,你相對於那些轉行過來的人來說就是天然的能力優勢。
如果你剛入職場,可以選擇技術氛圍強的公司,不要太在意加班和薪資,畢竟學習專業能力才是你的目的,入職場一年必須把常用的框架和庫能夠熟練使用,第二年開始就可以深入源碼或者自己加強自己的核心能力,比如算法,或者自己設計一個腳手架,組件庫,參與開源項目等。
如果你正在處於准備結婚生子的階段,可以選擇一些加班較少的公司,外企也可以,畢竟着一階段需要穩定,但是一定也不要忘記了學習,技術都是日新月異,不斷學習才能脫引而出
如果你是團隊的leader,可以考慮如何提升團隊的效能,做好技術沉淀和輸出,管理日常的任務,做好新人培養,但是不建議你不寫代碼了,除非你認定你以后一定是一個很好的管理人才,否則技術永遠是你吃飯的硬家伙。
