以下文章來源于pointers ,作者袁吳范
作為程式員,在開發崗位上做了幾年,特別是到了30歲,這個而立之年,我們會來到一個重要的人生岔路口,就是管理和技術兩個選擇,一邊專業路線,一邊是管理路線,
在互聯網的頭部企業,對管理和技術是平等對待的,所以晉升會存在管理和技兩個通道的
既然有了選擇,就會有人糾結,不知道是選擇專業路線,還是選擇技術團隊的管理路線,
這個選擇是程式員人生中第一個大的選擇,也是第一個障礙,倒不是說這個障礙是到底要不要選擇管理,而更多的是對做管理的遲疑,懷疑到底能不能做好管理,做了管理之后,技術是不是就荒廢了,
這種狀態猶豫不決、搖擺不定的狀態保持時間長了,最侄訓導致技術和管理都沒做好,這是得不償失的,
為了解決這個問題,有必要分析程式員職業發展的路線到底有幾條,分別需要具備怎樣的能力,從而做到”手中有糧,心中不慌“
01技術
技術類上,是有兩個方向:架構師和技術專家
架構師他的側重點是在“廣”上,他主要負責技術的整體和架構,在業務上,需要有很深的理解,有豐富的經驗,甚至能做到“走的橋比你吃的鹽還多”,在技術上,能夠廣泛涉略,掌握的技術知識越多,內力就越加深厚,
我覺得架構師還需要三點必備能力,其一需要有極強的執行力,能夠快速的給出合理的方案,推動技術落地,其二需要有極強的判斷力,能夠準確的找到復雜系統的疑難問題所在,就像武林高手,一眼就看出對方的破綻,最后還需要有極強的創新力,能夠創造新的解決方案,解決現有技術難題,
技術專家他的側重點是在“專”上,這個就很好理解,就是在某個領域能夠深入,能夠熟悉其背后運行原理,不同的領域都會存在專家,例如:Java專家、前端專家、影像演算法專家、Linux內核專家等等,專家相對架構師,更加專注,并不會考慮太多整體方案,
所以從高級開發成長為技術專家,主要是擴展領域內的技術寬度,提升領域內的技術深度,因為領域也不是特別窄的一個面,而是包含多個技術面,
舉一個例子:Linux內核專家,要想成為Linux內核專家,需要掌握,Linux CPU調度、記憶體管理、行程管理、存盤管理、檔案系統、設備管理和驅動、網路通信、系統呼叫、系統初始化等技術面,
在每個技術面中,同樣包含了很多技術點,這些技術都是知識盲區,所以需要提升技術深度,
02管理
管理也分為了兩個方向,技術管理和職業管理,顧名思義,技術管理更加傾向于技術,而職業管理完全拋開了技術,純粹的商業方向,
技術管理
這個方向是程式員最自然的選擇,大部分的技術管理者,在其從程式員轉為管理崗位的時候,都是在領導或公司的要求下,被動的推到技術經理崗位上的,并非是自己當初有強烈意愿、主動去選擇管理崗的,然后走上曼曼打怪進階的路線,從技術經理崗到技術總監,帶領幾十號人的團隊沖關,然后到成為技術業務部和事業部的技術副總裁,相當于CTO了,
技術管理需要在業務上有較深的理解,在技術上能夠根據技術發展趨勢,進行技術規劃,在產品上能夠極強的洞察力,進行產品規劃,在團隊加上能夠規劃團隊建設、組織結構等等,所以這是綜合素質的要求,
職業管理
職業管理者往往更加關心于整體產品業務的團隊,不限于技術團隊,比如某個事業部的總裁,或者是某個業務部的總裁,大家往往都聽過某某事業部空降了領導,這個領導就是屬于職業管理者,他的移動性更加強,能力更加通用,這個方向是可遇不可求的,有些人一輩子都不可能觸及到,這個就是天花板上的別人家的樓板,你說難不難?
03創業
創業這個方向上,一般是作為技術合伙人來參與,如果想要自己的創業公司能夠成功,必須是全能型創業團隊,在技術、產品、營銷等方面不能有明顯的短板,
我舉一個真實的例子:我的上一家公司的直接領導,辭去技術總監的職位,作為一個技術合伙人創建了一個團隊,主要提供物流解決方案,前幾個月和他聊,公司已經在去年實作盈利1000多萬,通過股權上操作,已經成為最大的股東,掌管著整個公司的前進方向,
說到這里挺惋惜的,創立之初,當時極力的拉我入伙,被我拒絕了,理由是工資太低了,這個理由在現在看來簡直可笑啊
04其他
專案經理
這個方向也是程式員比較常見,也比較自然的方向,專案經理其實一種組織整合能力,不同于技術管理,這條路線走起來,幾乎不需要任何外界依賴因素,
最需要關注的是進度、質量、人力、成本、風險,
那如何提升專案管理能力呢?
首先需要對專案管理知識框架有個大致的認識,避免在龐大的知識體系中迷失方向,比如:
范圍管理:專案為何總是做不完?范圍管理要界定
風險管理:專案風險引發的問題、成因以及防范方法
溝通管理:做好專案溝通計劃
質量管理:加強專案質量
時間管理:專案進度控制
成本管理:產品成品控制
等等
其次需要掌握專案計劃、專案變更、專案進展報告、復盤等程序方法,
最后需要掌握跨部門協作,多維度溝通上進行加強,
產品經理
程式員轉產品經理,需要做到技術思維到產品思維的轉換,
技術思維角度是從功能開始,而產品思維的角度是從業務開始,
作為程式員,當要做一個專案時候,我們最關心的是這個專案有哪些功能,然后考慮每個功能如何實作;
而作為產品經理,當要做一個專案時候,我們看重這個專案的業務場景是什么,解決用戶什么問題
技術思維角度是怎么去實作功能,而產品思維角度是為什么要這個業務,
從技術思維的角度關注一個需求時候,總是先關注一個需求如何去實作,即HOW;
而從產品思維上來關注一個需求時候,應該多問一下WHY,為什么需要這個需求,多思考為什么,從而找到需求或問題的本質,
技術思維角度是向專家一樣行動,而產品思維角度是向小白一樣思考,
作為程式員,我們日常接觸到最多的還是技術人員,這些人一般來說邏輯思維都較強,擅長使用和處理各種軟體,所以總是將這種形象代入到客戶身上,
但作為產品人員思考時候,將用戶想得越“小白”越好,假設他們是不懂電腦,不太會玩手機,甚至不會打字的人,
05總結
上面4個方向是程式員主要的職業發展路線,作為個人來看,如果能一直做自己熱愛的作業和喜歡的角色,應該是最好的狀態,
不管走那一條路,一些能力是共通的,比如:技術規劃、團隊建設、溝通、時間管理等,處于自己的選擇,可能不會選擇管理方向,但是難免在以后的作業中會和管理者打交道,管理作為一種通用的素質,希望大家能夠技多不壓身,
總之,作為程式員,技術和管理,就像人的兩條腿,所有的職業發展路線都離不開,畢竟一條腿是走不遠的,
如果你對編程感興趣,想要深入學習,這里分享素材包及學習資源,還有免費教程哦
(包含C語言、C++、Windows、Qt、Linux相關知識點)~不論是小白還是進階者,在這里都能獲得成長,點此進入快捷通道

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/209872.html
標籤:其他
