程序員后來都干啥去了

今天和大家聊聊程序員的職業(yè)規(guī)劃。技術(shù)當然是程序員安身立命的根本,有沒有技術(shù)決定了你能否為公司創(chuàng)造價值,配合其他的綜合素質(zhì),或者叫軟技能,決定了你能創(chuàng)造多大的價值。隨著現(xiàn)在工作壽命的延長,越來越多的人開始關注自己長線的職業(yè)生涯,那么多年輕的程序員,在青春年少的時候投入了互聯(lián)網(wǎng)的洪流,這些人后來去哪了呢?

看我主頁簡介免費C++學習資源,視頻教程、職業(yè)規(guī)劃、面試詳解、學習路線、開發(fā)工具

每晚8點直播講解C++編程技術(shù)。

我剛開始工作的時候,每次上下西二旗地鐵站,看著那么多人背著電腦包,眼神炯炯,腳步匆匆,心里就想,每年都要有更年輕的人擠進來,我們這些程序員將來去干啥呢?

如今十多年過去了,穩(wěn)中求進的西二旗都成了程序員神往的圣地,看看我身邊的小伙伴們,有人跳到別的大廠發(fā)展成總監(jiān),有人去互聯(lián)網(wǎng)創(chuàng)業(yè)做了CEO,有人進了銀行,有人改行做了餐飲,有人搞起自媒體成了大V……

但是大多數(shù)人,都像我一樣,還在程序的世界里摸爬滾打。以我們團隊為例,十多年來,從十幾個人,發(fā)展成200多人的全球跨職能團隊。其中,我們的領隊成了全球商務系統(tǒng)的總負責人,汽車制造專業(yè)的程序員成了資深架構(gòu)師,測試出身的小姑娘成了業(yè)務大拿,還有更多的人,一直堅守在技術(shù)崗位上,成了所在領域的專家,推動著客戶成功,帶領著團隊成長。

那么,對于沒有選擇創(chuàng)業(yè)、沒有轉(zhuǎn)行的這大多數(shù)程序員來說,在軟件產(chǎn)品團隊內(nèi)部是怎么發(fā)展的呢?這些角色的發(fā)展空間如何?你怎樣才能判斷自己適合做哪個角色呢?

好,在前一篇我介紹了職業(yè)規(guī)劃的愿景和小目標,今天我們就把眼光聚焦在軟件產(chǎn)品團隊的幾類角色上,以便幫助你結(jié)合自己的情況,規(guī)劃個人發(fā)展方向。

軟件產(chǎn)品團隊的角色劃分

簡單地說,軟件開發(fā)的工作是編寫程序為用戶服務。如下圖所示,在這個領域,一端是用戶,另一端是技術(shù)、設備等資源,中間是產(chǎn)品團隊負責連接。用戶想滿足自己的需求,就需要產(chǎn)品團隊,把資源加工成可用的軟件或者服務,遞交給用戶,甚至負責運維,滿足用戶持續(xù)的使用。

我們在上圖中間畫一條分割線,把軟件產(chǎn)品團隊除了管理人員,一分為二,靠近用戶一端的這組角色,包括產(chǎn)品經(jīng)理、業(yè)務分析師、業(yè)務運營等職位,作用是確保產(chǎn)品功能體現(xiàn)客戶價值,也就是“做正確的事”,這組角色是業(yè)務角色;而靠近技術(shù)資源一端的這組角色,包括架構(gòu)師、開發(fā)、測試和系統(tǒng)運維人員等,負責高效高質(zhì)地做出產(chǎn)品,也就是“正確地做事”,這組角色是技術(shù)角色。另外,在這兩組角色之外,還有一組管理角色,包括項目經(jīng)理、部門經(jīng)理等職位,負責業(yè)務戰(zhàn)略、項目執(zhí)行、團隊管理等。這樣一來,我們就把軟件產(chǎn)品團隊的角色分為三類:?業(yè)務角色、技術(shù)角色、管理角色?。

雖然這三類角色的目標都是為用戶遞交高質(zhì)量、高價值的產(chǎn)品服務,但各自有明顯不同的關注點,他們的思維模式也不一樣。為了讓你更清楚地了解他們的不同,我舉個例子。比如我們讓這三類人分別解釋一下“圓”這個圖形:

技術(shù)人會說:拿一條繩子,按住一頭不動,另一頭轉(zhuǎn)一圈,畫出的軌跡,就是圓。(他在強調(diào)用什么工具技術(shù)來畫圓。)

搞業(yè)務的人則會說:這個圖形就像十五的月亮,每段線條都很光滑,很完美,生活中有很多地方用到它。( 他在用形象化的語言解釋圓的外觀、屬性,以及應用價值。)

搞管理的人則會把技術(shù)和業(yè)務兩人叫到一起,對技術(shù)人說:“你要用什么樣的繩子?這么做費不費勁?”對業(yè)務的人說:“你的說法倒是可以驗證他畫得好不好,可是,十五那天要是陰天你就沒法驗證了?!?(他不關注怎么畫圓,但是關注畫圓的資源,最終的質(zhì)量、驗證方法,還有風險。)

你看到了么,技術(shù)角色關注的是設計實現(xiàn),業(yè)務角色關注的是功能價值,而管理角色關注的是質(zhì)量、過程控制和風險。下面我們一起詳細講講這三類角色。

1. 技術(shù)角色

首先說技術(shù)角色,它包括開發(fā)、測試、架構(gòu)、系統(tǒng)運維等職位。這些職位有什么共同點呢?

技術(shù)人員的任務,是把定義好的功能做出來。因為長時間跟計算機打交道,而計算機按照算法邏輯運行程序,所以技術(shù)人員講求邏輯,追求細節(jié),探究問題的根源,有追根尋底的好奇心。優(yōu)秀的技術(shù)人員,除了愛鉆研深度,還愛探索廣度。當對某個領域的技術(shù)深入理解之后,他們能抽象出方法和模型,用于掌握日新月異的技術(shù)本源,和變化的思想模式,從而在廣度上對技術(shù)有更快更好的理解。這就是?“T”型人才:縱向有技術(shù)深度,橫向有技術(shù)廣度,他們對新技術(shù)有敏銳的嗅覺,關注、掌握甚至引領技術(shù)發(fā)展的動態(tài)和趨勢。

我理解技術(shù)角色有以下的四個發(fā)展階段:

初級的程序員,拿到小的開發(fā)任務,能夠運用團隊中已經(jīng)選型的技術(shù)和工具,編碼實現(xiàn)功能,通過調(diào)試代碼,理解技術(shù)的原理,訓練自己的思路以便和計算機的運行邏輯同頻,靈活運用編程模式,駑駕程序解決技術(shù)問題,也就是形成?算法思維?,這時他關注的是代碼質(zhì)量和技術(shù)問題。

隨著開發(fā)任務的多樣化,程序員解決的問題越來越深入和復雜,逐漸接觸和掌握了完整的框架和技術(shù),通過總結(jié),對該問題域形成模塊化、體系化的認知,可以獨立設計和開發(fā),也就是形成?系統(tǒng)思維?。這時他關注的是某一類系統(tǒng)的運行效率。

解決問題能力越來越強的程序員,把問題域不斷拓展到新的領域,利用已經(jīng)掌握的系統(tǒng)化知識和思考方法,能快速學習新領域的知識,掌握新領域的技術(shù)和框架,這是進行“T”型技術(shù)中廣度的積累。每個技術(shù)模塊都形成他知識體系中的一個節(jié)點,隨著這個知識體系越長越大,他可以根據(jù)用戶的需求,選擇合適的技術(shù)模塊,進行分拆組合,考慮成本和收益的均衡,來提供解決方案,也就是形成?架構(gòu)思維?,我們稱為架構(gòu)師。這時架構(gòu)師的他,關注的是業(yè)務和架構(gòu)的最優(yōu)匹配。

再以后,就是對技術(shù)前瞻性的把握了,結(jié)合市場的需求變化和研究人員的成果,依托整個軟件生態(tài)的發(fā)展,引入或創(chuàng)造新的技術(shù),提高應用效率,滿足用戶需求。IBM有很多技術(shù)大神級的人物,我很希望能有機會跟他們深度協(xié)作,這樣有了體會,就能補充完善這段了。

技術(shù)是可以一直做下去的,當然,這點取決于公司的技術(shù)成長空間和個人能力素質(zhì)。如果條件具備,并非像某些人說的那樣,35歲以后就要轉(zhuǎn)做管理。和年輕的開發(fā)者相比,你資深在對技術(shù)本質(zhì)和廣度的理解,以及技術(shù)和業(yè)務的融合上。

怎么衡量你適不適合走技術(shù)路線呢?我覺得,能不能做好技術(shù),不在于你是不是計算機科班出身,不在于你是不是現(xiàn)在還處理瑣碎的小任務,而在于你對底層細節(jié)的好奇心,以及是否愿意嘗鮮鉆研,擴充自己的知識體系。

比如,你在飯館第一次看到“煤球炒飯”,有研究它的欲望么?這道菜上來的時候,還躥著火苗,你能快速搞清其原理么?你是要自己先研究一番呢,還是去“朋友圈”問別人呢?乘坐電梯,你會不會納悶電梯用的什么調(diào)度算法?你有沒有折騰出過一些小程序,被別人“把玩”?你的技術(shù)博客,曾經(jīng)被人稱贊或引用過么?如果是,那你可以考慮一下技術(shù)路線。

2. 業(yè)務角色

業(yè)務就是用戶遇到的問題和要做的需求。業(yè)務角色,包括業(yè)務分析師、產(chǎn)品經(jīng)理、客戶支持、業(yè)務運維等人員。這些人一方面跟用戶打交道,另一方面跟技術(shù)人員打交道,把用戶不明確的需求、痛點、問題,加工轉(zhuǎn)化為技術(shù)人員可理解的、高確定性的需求說明和功能定義。進一步講,?業(yè)務角色把用戶價值翻譯成產(chǎn)品功能,保證產(chǎn)品團隊做正確的事。

用戶是多種多樣的,其原始需求和痛點也是多樣的、多變的,很多時候,甚至用戶自己也不清楚需求是什么,到底痛在哪里。假如用戶想要一種更快的交通工具,但是他沒見過汽車,就只能指著滿街的馬車,說想要一匹更快的馬了,然后還說最好不要拉臭臭,因為他的痛點之一是現(xiàn)在街上馬糞太多太臭。產(chǎn)品經(jīng)理如果只理解字面意思,最后的產(chǎn)品也許就是穿著紙尿褲的赤兔馬了。

所以,?優(yōu)秀的業(yè)務角色能夠換位思考,就是有同理心,能站在用戶角度考慮問題,也能站在技術(shù)人員的角度理解問題。?但這并不是說,業(yè)務人員是在用戶和技術(shù)人員中間搖擺,他們要有很強的主導意識,否則在用戶指明要赤兔馬的情況下,就不會有汽車的誕生了。這正是業(yè)務人員關注價值的表現(xiàn),這也是業(yè)務難做的地方。

我覺得業(yè)務人員的發(fā)展有如下幾個階段:

初級的業(yè)務人員,參與需求分析和產(chǎn)品功能設計,通過對用戶心理和行為的調(diào)研,選用恰當?shù)腢I/UX元素和設計原則,并和技術(shù)人員溝通可行性,構(gòu)建產(chǎn)品原型,同時滿足技術(shù)成本要求,又提升用戶滿意度。這時,他關注的是?交互設計和用戶體驗?,即這樣的操作設計能多好地實現(xiàn)既定功能。

產(chǎn)品經(jīng)理則主導業(yè)務分析和負責整個產(chǎn)品設計,推動產(chǎn)品的實現(xiàn)和運營,參與產(chǎn)品Idea的產(chǎn)生過程,對市場分析和產(chǎn)品生命規(guī)劃有一定的了解。貢獻在于甄別真正有價值的問題,定義產(chǎn)品功能和優(yōu)先級,確保解決用戶問題,創(chuàng)造用戶價值,并通過產(chǎn)品價值指標來衡量和驗證。這要求產(chǎn)品經(jīng)理具備價值判斷能力和很強的溝通能力。

發(fā)展到產(chǎn)品總監(jiān)級別,要主導市場分析和產(chǎn)品規(guī)劃,掌握用戶群體的屬性,負責產(chǎn)品Idea的產(chǎn)生,進行產(chǎn)品全生命周期管理,要求有豐富的行業(yè)知識和深刻的市場洞察。此時已經(jīng)兼具業(yè)務和管理職責了。

再往上就該是公司老總級別了,主抓公司戰(zhàn)略,業(yè)務方向和市場布局。負責整個公司的運作。

這么看,業(yè)務角色的發(fā)展空間很大。即使你現(xiàn)在只是一個測試人員,你也可以朝著業(yè)務方向發(fā)展。我之前把測試歸并到技術(shù)中去了,其實用來驗證產(chǎn)品功能的測試工作,是在看界面行為是否符合設計,這是業(yè)務人員的職責之一。在積累了大量的功能操作經(jīng)驗之后,可以嘗試參與功能設計和用戶調(diào)研之類的初級業(yè)務工作了。

如果你對技術(shù)細節(jié)總是一頭霧水,但是對用戶體驗倒是很有想法,你更關心別人的感受和使用習慣,有同理心,別人說很難交流的用戶,你能輕松搞定。對于某款App,你能體會到某點設計的好處,又能找出不當之處,并知道為什么。那么,說明你比較有產(chǎn)品意識,你真可以嘗試一下業(yè)務方向。

這里提一下技術(shù)人員看待業(yè)務代碼的問題。有些涉及業(yè)務開發(fā)的工作,比如前端UI實現(xiàn)、業(yè)務數(shù)據(jù)操作、業(yè)務邏輯處理等,某些開發(fā)人員,不愿意寫這些業(yè)務代碼,認為這部分更靠近用戶,多變、瑣碎、只是邏輯控制,沒有技術(shù)含量,而更愿意編寫底層的框架、事務處理機制等模塊,這些模塊有通用性且可復用,顯得很有成就感。殊不知,這些底層技術(shù),正是為了適應業(yè)務代碼的需求而編寫的。如果不了解業(yè)務代碼的需求,你所理解的底層技術(shù)只是代碼而已,而不會明白為什么用這種技術(shù),不會明白它和其他模塊是出于什么業(yè)務目的劃分邊界,進而不會明白各個產(chǎn)品團隊為什么如此組織和協(xié)作。

3. 管理角色

最后我們看看管理角色,它包括項目經(jīng)理、業(yè)務主管、技術(shù)經(jīng)理、部門經(jīng)理等等(不同的公司可能用不同的名稱,而且可能一人擔任多職)。這些管理角色的側(cè)重點有所不同:項目經(jīng)理,負責項目的成??;業(yè)務主管,負責業(yè)務開拓和發(fā)展;技術(shù)經(jīng)理負責技術(shù)開拓、技術(shù)培訓;部門經(jīng)理負責人員績效、部門發(fā)展……但他們的共同目標都是優(yōu)化人、財、物等資源的配置,用最小的投入,獲得最大的價值產(chǎn)出。

這里有必要區(qū)分一下管理和領導的概念。以上說的是管理(Management),是有具體頭銜的職位,管理具體事務或者人;而領導(Leading),是從管理中分離出來的影響他人的行為,不一定有具體頭銜。也就是說,即使你是一個技術(shù)人員,不是部門經(jīng)理,也可以在團隊中具有領導力(Leadership),你的技術(shù)權(quán)威,可以影響他人的決定和行動。關于領導力的話題,我在后面的文章中會詳談。

說回到管理。管理的角色很多,我這里單說項目管理。傳統(tǒng)項目管理者的關注點是過程和質(zhì)量控制,從而達到預期的成本、范圍和進度要求。在敏捷管理中,項目管理的關注點放到了人上:更注重團隊成員的自我管理,項目經(jīng)理轉(zhuǎn)變?yōu)閰f(xié)調(diào)者和服務者的角色,產(chǎn)品經(jīng)理負責價值遞交,因而產(chǎn)品交付不再是項目經(jīng)理一個人的責任,有的團隊把產(chǎn)品經(jīng)理和項目經(jīng)理合并為一個角色,讓同一個人承擔;透明化、可視化的溝通手段,也使項目經(jīng)理的溝通工作變得簡單直接;團隊的開放性和自主性,使創(chuàng)新意識和主人翁意識得到很好的發(fā)揮,項目經(jīng)理不再做監(jiān)工;項目經(jīng)理需要開放思想,承認項目范圍是可以按迭代調(diào)整的,容忍快速試錯,擁抱變化,提醒和促進團隊正確地做事。

盡管管理者們的管理風格多種多樣,但是有一個基本的特質(zhì)是:?有條理?(Organized),也就是善于安排事情的優(yōu)先級和組織過程,目的是保持秩序,使過程可控。一個Organized團隊中,角色分工明確,工作先后有序,大家配合默契,資源隨用隨取,流程清晰簡潔,成功率很高,能夠最大限度地降低不確定性。

所以想想自己,即使還沒有管理的頭銜,就日常的事情來說,你是否趨向“有條理”呢?比如,你習慣把常用的東西放到固定的位置么?你會按照使用場景優(yōu)化它們的位置么?你正忙的時候接到一個新任務,是否先衡量一下輕重緩急,再決定要不要切換任務呢?如果是,說明你比較有條理,可以發(fā)展下管理意識。

角色融合

當我們剛開始工作的時候,會著力在一種角色上發(fā)展。但是發(fā)展到越高的階段,越會發(fā)現(xiàn)只有一種角色的眼光和技能是不夠的。拿架構(gòu)師來說,如果眼里沒有業(yè)務和用戶,即使采用的技術(shù)再好再新,不能解決用戶問題,也不是好的架構(gòu)師。另外,如果架構(gòu)師沒有管理思維,無法在團隊中發(fā)揮技術(shù)影響力,就不能把設計的精華落實到產(chǎn)品中去,也不能帶出精兵強將來。

下面這個圖,包含技術(shù)、業(yè)務、管理三個維度,我們每個人都在每個維度上有一定的能力,承擔一定的職責。這樣,在三個軸上圍出一個三角形,這個三角形就代表了你的角色融合程度和角色跨度。盡量按照你的能力和愿景去拓寬這個三角形吧,它展示了你的能力多大、責任多大,以及對公司、對社會的價值多大。

總結(jié)

談到這里,相信你已經(jīng)了解了軟件產(chǎn)品團隊的三種角色,以及它們的關注點和特質(zhì)。

技術(shù)角色:關注技術(shù)和邏輯實現(xiàn),可發(fā)展為“T”型人才,需要有對技術(shù)的鉆研和敏感性。

業(yè)務角色:關注用戶和價值,有同理心。

管理角色:關注過程質(zhì)量,有條理。

技術(shù)、業(yè)務和管理的角色,本身沒有好壞之分,只是關注點不同,你需要根據(jù)自身特點,選擇適合的發(fā)展方向。

如果你覺得自己是普通人,不相信自己能發(fā)展成大牛或者大神,不要緊,先別下結(jié)論。讓我們先做個有“饑餓感”的普通人吧。保持這種“饑餓感”,一步一個腳印地走下去。

走著走著,你會發(fā)現(xiàn)身邊多了很多優(yōu)秀的人;

走著走著,你發(fā)現(xiàn)你也可以給別人營養(yǎng)了;

走著走著,你發(fā)現(xiàn)別人開始仰視你,跟隨你了;

走著走著,你發(fā)現(xiàn)頭發(fā)掉光啦(好無奈呀)……

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 每天進步一點點點點點點點點點點點點點點點點點點點點點點點點點點點點點點~~從開始只能寫幾句話、模仿別人的觀點,到現(xiàn)...
    一個帥氣的名字呀閱讀 19,080評論 4 31
  • 啟示錄:打造用戶喜愛的產(chǎn)品 Part1 人員 Ch1 · 關鍵角色及其職責 現(xiàn)代軟件產(chǎn)品團隊 產(chǎn)品經(jīng)理:評估產(chǎn)品機...
    澄禎閱讀 2,153評論 0 4
  • 北風呼嘯映涼城,歲寒三日心寂寥。夜黑風高甘墮落,亦是疲倦不沉淪。千變?nèi)f化適人間,初心勿忘難可貴,年少輕狂志猶在,潛...
    莫無道閱讀 245評論 0 1
  • 孟姜女哭長城 母愛偉大是我們的母親受難日!
    一口井1閱讀 191評論 0 0
  • 今天參加了親子教育的線下活動,其中一個游戲環(huán)節(jié),孩子向所有的爸爸媽媽說,媽媽或爸爸陪我玩會吧,家長以各種理由...
    苔花_6ef1閱讀 373評論 1 5

友情鏈接更多精彩內(nèi)容