談一談程序員的職業(yè)發(fā)展路線
作為程序員,在開(kāi)發(fā)崗位上做了幾年,特別是到了30歲,這個(gè)而立之年,我們會(huì)來(lái)到一個(gè)重要的人生岔路口。就是管理和技術(shù)兩個(gè)選擇,一邊專(zhuān)業(yè)路線,一邊是管理路線。
在互聯(lián)網(wǎng)的頭部企業(yè),對(duì)管理和技術(shù)是平等對(duì)待的,所以晉升會(huì)存在管理和技兩個(gè)通道的
?
既然有了選擇,就會(huì)有人糾結(jié),不知道是選擇專(zhuān)業(yè)路線,還是選擇技術(shù)團(tuán)隊(duì)的管理路線。
?
這個(gè)選擇是程序員人生中第一個(gè)大的選擇,也是第一個(gè)障礙,倒不是說(shuō)這個(gè)障礙是到底要不要選擇管理,而更多的是對(duì)做管理的遲疑,懷疑到底能不能做好管理,做了管理之后,技術(shù)是不是就荒廢了。
這種狀態(tài)猶豫不決、搖擺不定的狀態(tài)保持時(shí)間長(zhǎng)了,最終會(huì)導(dǎo)致技術(shù)和管理都沒(méi)做好,這是得不償失的。
為了解決這個(gè)問(wèn)題,有必要分析程序員職業(yè)發(fā)展的路線到底有幾條,分別需要具備怎樣的能力,從而做到”手中有糧,心中不慌“
?
01技術(shù)
技術(shù)類(lèi)上,是有兩個(gè)方向:架構(gòu)師和技術(shù)專(zhuān)家
架構(gòu)師他的側(cè)重點(diǎn)是在“廣”上,他主要負(fù)責(zé)技術(shù)的整體和架構(gòu),在業(yè)務(wù)上,需要有很深的理解,有豐富的經(jīng)驗(yàn),甚至能做到“走的橋比你吃的鹽還多”。在技術(shù)上,能夠廣泛涉略,掌握的技術(shù)知識(shí)越多,內(nèi)力就越加深厚。
?
我覺(jué)得架構(gòu)師還需要三點(diǎn)必備能力,其一需要有極強(qiáng)的執(zhí)行力,能夠快速的給出合理的方案,推動(dòng)技術(shù)落地。其二需要有極強(qiáng)的判斷力,能夠準(zhǔn)確的找到復(fù)雜系統(tǒng)的疑難問(wèn)題所在,就像武林高手,一眼就看出對(duì)方的破綻。最后還需要有極強(qiáng)的創(chuàng)新力,能夠創(chuàng)造新的解決方案,解決現(xiàn)有技術(shù)難題。
所以從程序員到架構(gòu)師的成長(zhǎng)之路,總的指導(dǎo)原則是:積累經(jīng)驗(yàn),拓寬視野,深度思考(可以參考我之前文章《程序員進(jìn)階必備能力——深度思考》)
?
技術(shù)專(zhuān)家他的側(cè)重點(diǎn)是在“專(zhuān)”上,這個(gè)就很好理解,就是在某個(gè)領(lǐng)域能夠深入,能夠熟悉其背后運(yùn)行原理。不同的領(lǐng)域都會(huì)存在專(zhuān)家,例如:Java專(zhuān)家、前端專(zhuān)家、圖像算法專(zhuān)家、Linux內(nèi)核專(zhuān)家等等。專(zhuān)家相對(duì)架構(gòu)師,更加專(zhuān)注,并不會(huì)考慮太多整體方案。
所以從高級(jí)開(kāi)發(fā)成長(zhǎng)為技術(shù)專(zhuān)家,主要是擴(kuò)展領(lǐng)域內(nèi)的技術(shù)寬度,提升領(lǐng)域內(nèi)的技術(shù)深度。因?yàn)轭I(lǐng)域也不是特別窄的一個(gè)面,而是包含多個(gè)技術(shù)面。
舉一個(gè)例子:Linux內(nèi)核專(zhuān)家,要想成為L(zhǎng)inux內(nèi)核專(zhuān)家,需要掌握,Linux CPU調(diào)度、內(nèi)存管理、進(jìn)程管理、存儲(chǔ)管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動(dòng)、網(wǎng)絡(luò)通信、系統(tǒng)調(diào)用、系統(tǒng)初始化等技術(shù)面。
在每個(gè)技術(shù)面中,同樣包含了很多技術(shù)點(diǎn),這些技術(shù)都是知識(shí)盲區(qū),所以需要提升技術(shù)深度。
?
02管理
管理也分為了兩個(gè)方向,技術(shù)管理和職業(yè)管理。顧名思義,技術(shù)管理更加傾向于技術(shù),而職業(yè)管理完全拋開(kāi)了技術(shù),純粹的商業(yè)方向。
技術(shù)管理,這個(gè)方向是程序員最自然的選擇。大部分的技術(shù)管理者,在其從程序員轉(zhuǎn)為管理崗位的時(shí)候,都是在領(lǐng)導(dǎo)或公司的要求下,被動(dòng)的推到技術(shù)經(jīng)理崗位上的,并非是自己當(dāng)初有強(qiáng)烈意愿、主動(dòng)去選擇管理崗的。然后走上曼曼打怪進(jìn)階的路線,從技術(shù)經(jīng)理崗到技術(shù)總監(jiān),帶領(lǐng)幾十號(hào)人的團(tuán)隊(duì)沖關(guān),然后到成為技術(shù)業(yè)務(wù)部和事業(yè)部的技術(shù)副總裁,相當(dāng)于CTO了。
技術(shù)管理需要在業(yè)務(wù)上有較深的理解,在技術(shù)上能夠根據(jù)技術(shù)發(fā)展趨勢(shì),進(jìn)行技術(shù)規(guī)劃。在產(chǎn)品上能夠極強(qiáng)的洞察力,進(jìn)行產(chǎn)品規(guī)劃。在團(tuán)隊(duì)加上能夠規(guī)劃團(tuán)隊(duì)建設(shè)、組織結(jié)構(gòu)等等,所以這是綜合素質(zhì)的要求。
?
職業(yè)管理
職業(yè)管理者往往更加關(guān)心于整體產(chǎn)品業(yè)務(wù)的團(tuán)隊(duì),不限于技術(shù)團(tuán)隊(duì)。比如某個(gè)事業(yè)部的總裁,或者是某個(gè)業(yè)務(wù)部的總裁。大家往往都聽(tīng)過(guò)某某事業(yè)部空降了領(lǐng)導(dǎo),這個(gè)領(lǐng)導(dǎo)就是屬于職業(yè)管理者,他的移動(dòng)性更加強(qiáng),能力更加通用。這個(gè)方向是可遇不可求的,有些人一輩子都不可能觸及到。這個(gè)就是天花板上的別人家的樓板,你說(shuō)難不難?
?
?
?
03創(chuàng)業(yè)
創(chuàng)業(yè)這個(gè)方向上,一般是作為技術(shù)合伙人來(lái)參與,如果想要自己的創(chuàng)業(yè)公司能夠成功,必須是全能型創(chuàng)業(yè)團(tuán)隊(duì),在技術(shù)、產(chǎn)品、營(yíng)銷(xiāo)等方面不能有明顯的短板。
我舉一個(gè)真實(shí)的例子:我的上一家公司的直接領(lǐng)導(dǎo),辭去技術(shù)總監(jiān)的職位,作為一個(gè)技術(shù)合伙人創(chuàng)建了一個(gè)團(tuán)隊(duì),主要提供物流解決方案。前幾個(gè)月和他聊,公司已經(jīng)在去年實(shí)現(xiàn)盈利1000多萬(wàn),通過(guò)股權(quán)上操作,已經(jīng)成為最大的股東,掌管著整個(gè)公司的前進(jìn)方向。
說(shuō)到這里挺惋惜的,創(chuàng)立之初,當(dāng)時(shí)極力的拉我入伙,被我拒絕了,理由是工資太低了,這個(gè)理由在現(xiàn)在看來(lái)簡(jiǎn)直可笑啊
?
03其他
項(xiàng)目經(jīng)理
這個(gè)方向也是程序員比較常見(jiàn),也比較自然的方向。項(xiàng)目經(jīng)理其實(shí)一種組織整合能力。不同于技術(shù)管理,這條路線走起來(lái),幾乎不需要任何外界依賴(lài)因素。
最需要關(guān)注的是進(jìn)度、質(zhì)量、人力、成本、風(fēng)險(xiǎn)。
那如何提升項(xiàng)目管理能力呢?
首先需要對(duì)項(xiàng)目管理知識(shí)框架有個(gè)大致的認(rèn)識(shí),避免在龐大的知識(shí)體系中迷失方向,比如:
范圍管理:項(xiàng)目為何總是做不完?范圍管理要界定
風(fēng)險(xiǎn)管理:項(xiàng)目風(fēng)險(xiǎn)引發(fā)的問(wèn)題、成因以及防范方法
溝通管理:做好項(xiàng)目溝通計(jì)劃
質(zhì)量管理:加強(qiáng)項(xiàng)目質(zhì)量
時(shí)間管理:項(xiàng)目進(jìn)度控制
成本管理:產(chǎn)品成品控制
等等
其次需要掌握項(xiàng)目計(jì)劃、項(xiàng)目變更、項(xiàng)目進(jìn)展報(bào)告、復(fù)盤(pán)等過(guò)程方法。
最后需要掌握跨部門(mén)協(xié)作,多維度溝通上進(jìn)行加強(qiáng)。
?
產(chǎn)品經(jīng)理
程序員轉(zhuǎn)產(chǎn)品經(jīng)理,需要做到技術(shù)思維到產(chǎn)品思維的轉(zhuǎn)換。
技術(shù)思維角度是從功能開(kāi)始,而產(chǎn)品思維的角度是從業(yè)務(wù)開(kāi)始。
作為程序員,當(dāng)要做一個(gè)項(xiàng)目時(shí)候,我們最關(guān)心的是這個(gè)項(xiàng)目有哪些功能,然后考慮每個(gè)功能如何實(shí)現(xiàn);
而作為產(chǎn)品經(jīng)理,當(dāng)要做一個(gè)項(xiàng)目時(shí)候,我們看重這個(gè)項(xiàng)目的業(yè)務(wù)場(chǎng)景是什么,解決用戶(hù)什么問(wèn)題
?
技術(shù)思維角度是怎么去實(shí)現(xiàn)功能,而產(chǎn)品思維角度是為什么要這個(gè)業(yè)務(wù)。
從技術(shù)思維的角度關(guān)注一個(gè)需求時(shí)候,總是先關(guān)注一個(gè)需求如何去實(shí)現(xiàn),即HOW;
而從產(chǎn)品思維上來(lái)關(guān)注一個(gè)需求時(shí)候,應(yīng)該多問(wèn)一下WHY,為什么需要這個(gè)需求,多思考為什么,從而找到需求或問(wèn)題的本質(zhì)。
?
?
技術(shù)思維角度是向?qū)<乙粯有袆?dòng),而產(chǎn)品思維角度是向小白一樣思考。
作為程序員,我們?nèi)粘=佑|到最多的還是技術(shù)人員,這些人一般來(lái)說(shuō)邏輯思維都較強(qiáng),擅長(zhǎng)使用和處理各種軟件,所以總是將這種形象代入到客戶(hù)身上。
但作為產(chǎn)品人員思考時(shí)候,將用戶(hù)想得越“小白”越好,假設(shè)他們是不懂電腦,不太會(huì)玩手機(jī),甚至不會(huì)打字的人。
?
?
04總結(jié)
上面4個(gè)方向是程序員主要的職業(yè)發(fā)展路線,作為個(gè)人來(lái)看,如果能一直做自己熱愛(ài)的工作和喜歡的角色,應(yīng)該是最好的狀態(tài)。
不管走那一條路,一些能力是共通的,比如:技術(shù)規(guī)劃、團(tuán)隊(duì)建設(shè)、溝通、時(shí)間管理等。處于自己的選擇,可能不會(huì)選擇管理方向,但是難免在以后的工作中會(huì)和管理者打交道。管理作為一種通用的素質(zhì),希望大家能夠技多不壓身。
總之,作為程序員,技術(shù)和管理,就像人的兩條腿,所有的職業(yè)發(fā)展路線都離不開(kāi),畢竟一條腿是走不遠(yuǎn)的。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!