程序員能力修煉手冊
剛入行:? 就是干大家好,我是安醬。今天來跟大家聊聊程序員的能力進階道路。相信許多小伙伴都知道,互聯(lián)網大廠們都是有一套嚴格的職級系統(tǒng),專門用來評判員工的能力等級以及對應的薪資待遇區(qū)間。比如眾所周知的阿里的P系列,騰訊的T系列等等。事實上,程序員的牛逼程度大多也是按照這些所謂的頭銜來衡量的。比如假如你是一個P9級別的程序員,那基本就是行業(yè)大牛,公司藏金閣之類的長老了。各種叱咤風云的大佬們的故事也都是發(fā)生在這個級別及以上。而對于工作沒幾年或者剛畢業(yè)的萌新來說,一般大多處于P5的職級,這也是應屆畢業(yè)生最容易獲得職級。只有極少數(shù)的校園大神級別的人才,才有機會畢業(yè)直接P6。但是事實上這些職級并無完全與你的能力相匹配,僅僅只是代表公司按照它的標準和評判方式對你所得出的評估罷了。這里,我大致按照大廠對軟件工程師的能力評級,斗膽談談程序員能力進階的修煉方法。
入行兩年:熟知各種設計模式,信手拈來
入行三年:閱碼無數(shù),心中已無設計模式
入行五年:就是干
1 筑基
筑基期大致上可以看作是程序員在互聯(lián)網行業(yè)的起點,意味著入門級別。就好比修仙第一步,已然具備了靈體,能夠吸納天地精氣,滋養(yǎng)自身,鑄造基石。2 結丹
不小心熬過了兩三年,基礎已筑,需要將已修得的精華凝縮為內心中的神丹,代表著自己對自己實力層次的精進。你發(fā)現(xiàn)自己始終還是沒晉升,這個時候,就該好好想想自己的能力加點是不是點錯了。要用一個詞來形容結丹期級別的工程師,那么就是「獨當一面」。這個時候,往往已經掌握了扎實的技術能力,同時對業(yè)務也有一定的了解。因此這個級別對你提出了更高的要求,那就是具有更高的眼光,能夠站在更高的角度上看待并解決問題。主動的去推動事情主動性往往是區(qū)分好員工和一般員工的標準,領導肯定更傾向于主動型的員工。而作為一個努力向上的員工,就需要充分發(fā)揮自己的主觀能動性。互聯(lián)網企業(yè)的文化一般都是不設邊界的,如果你能夠主動的去提出問題,并且去共同推動多方進行問題的解決,大概率是能夠獲得領導的青睞的。有人說這不就是向上管理嗎,這可能是見仁見智了。
熟悉業(yè)務的發(fā)展方向方向這種東西都是領導才會說的名詞,所以如果你能清晰的知道當前業(yè)務的發(fā)展方向以及具體的戰(zhàn)術戰(zhàn)略,那豈不意味著你都能當領導了。我在之前的一篇文章里就說過,咱們雖是技術人,但是也要時刻保持著對業(yè)務的感知能力。因此,熟悉業(yè)務邏輯并不是一件沒有意義的東西,反而會成為我們的加分項,錦上添花的事。
負責子模塊/子系統(tǒng)的構建從專業(yè)能力上來說,這一級別的你已經不是新手了,所以要能夠團隊中承擔更多模塊/系統(tǒng)/架構層面的作用。你需要能夠對模塊化的工程具有一定的了解,并且在技術上具有一定的思考和沉淀。并且很有可能,這個時候你可能可以成為新人的導師,身后帶著幾個小屁孩。這時候就更意味著你需要非常深入的理解整個部門的技術體系以及具體模塊中實現(xiàn)原理,然后能夠帶動一個小團體一起獨立完成某個子系統(tǒng)/模塊的開發(fā),架構設計以及穩(wěn)定監(jiān)控等環(huán)節(jié)。
3 化神
又過了兩三年,這又是一個坎。然而想化神,必先化凡。這意味著當你想成為大佬的時候,就要先深入群眾,深得人心。若是作為技術管理者的候選人,則需要主動承擔團隊工作,解決團隊中的開發(fā)管理問題;而若是作為技術專家的領路人,則需要主動發(fā)掘團隊開發(fā)過程中的技術問題,為提升團隊整體的效率而努力。技術管理還是技術深化,不同的選擇意味著不同的道路。一般來說這個級別如果不是leader,那基本上就是大頭兵。已經能夠算得上是部門的大佬了。這個級別對于不同方向的人,自然是有著不一樣的要求。比較熟悉業(yè)務方向、業(yè)務規(guī)劃那更適合走技術管理的道路,能夠協(xié)助leader一起參與團隊的管理以及業(yè)務方向的規(guī)劃。當然,盡管是技術管理,但是并不是說不要求技術,只是相較于技術專家而言,更傾向于技術的廣度。能夠比較了解業(yè)界的技術發(fā)展動態(tài),同時結合業(yè)務的特征,帶頭推動新架構新系統(tǒng)的落地,并能夠保證系統(tǒng)的高可用、高擴展以及高效穩(wěn)定。4 大乘
又過了很多年,化神期終究無法滿足你。你需要突破,需要走出自己的路,明悟大道,踏破天境。這時候,已經無法通過練氣吐納來提升修為,更多的是看人事際遇和人間造化。絕大部分程序員們都會止步于此,無法前行。而突破進入大乘期的方式,除了需要在化神期穩(wěn)固的修為外,還需要能夠具備一定的運氣和過人的膽識。受到大領導的賞識,遇到公司上升期,接手好的項目,這些都是能夠讓你脫胎換骨的靈丹妙藥。而除了這些之外,自身的實力水平也需要足夠達標才行。若是偏向于技術管理的方向,需要能夠站在團隊的角度上為業(yè)務發(fā)展指導方向,能夠理解并且有效的推進團隊在長期目標上的技術規(guī)劃,同時能夠對領域內外都有一定的技術廣度,能夠帶頭推動整體項目的進展,并且還需要具有跨部門的協(xié)調能力,多方調控一起協(xié)調資源和解決問題。總的來說呢,就是要安內攘外。內部保證團隊的高效運行,各種需求和改造能夠合理消化,同時營造團隊內的和諧舒服的工作壞境;對外需要具備敏銳的視角和眼光,了解競品發(fā)展方向,時刻思考自己所帶業(yè)務的目標和未來。5 渡劫
如果說大乘期是得看造化,那么渡劫期則可謂是可遇不可求。簡單來說,就是只可會意,不可言傳。我一個筑基期的小嘍嘍,哪敢妄想達到渡劫期。不過依我看,想能夠到達渡劫期的一個簡單的方式,就是要記得跟自己的室友搞好關系,并且一起創(chuàng)業(yè)。等到他厭倦于CEO的生活后,你的天劫便因此而來。渡過天劫,則可踏過天境,羽化登仙。從此,世間無道,道化自然。你若要問我程序員修道還有沒有第六步,第七步,或許有,或許沒有。我也不知道。這幾個層次是我認為的,也是我所觀察到的能力等級。尤其在大公司,感覺不同等級之間的差別還是挺明顯的,領導也會根據(jù)這樣的能力等級來對員工進行考核。這幾個層次也不能完成與阿里的P幾相對應,畢竟公司的評級實際上并不能完全反映我們個人的能力。并且各大公司所謂的評級系統(tǒng)實際上都會跨越一個很大的區(qū)間,甚至會有比較嚴重的重疊。所以這篇文章的幾個層次更多的用來評估自身實力的模型,千萬不要與自己在公司的職級對照入座了。期待各位早日渡劫成功,飛升仙界。分享一個編程設計小技巧(沒有兩三年工作經驗估計看不懂)多線程學習指南
這里收集了100多篇C 原創(chuàng)文章(入門進階必備)