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