程序猿們那些可選的職業發展路線

時不時會有一些做開發的小夥伴向我諮詢一些職業發展的問題,比如:該不該跳槽?遇到了職業天花板該怎麼破?如何才能成為架構師?等等。這些問題,說白了,其實都是如何選擇職業發展路線的問題。那我們就來聊聊那些可選的職業發展路線,需要注意,每個人都並非只走一條路線。


程序猿們那些可選的職業發展路線


1. 縱深發展

所謂縱深,就是縱向往技術深度發展,不管是 Android 開發、iOS 開發、前端開發,還是後端開發,都可以根據技術能力劃分為初級、高級、資深、技術專家/架構師、高級技術專家/高級架構師、首席技術專家/首席架構師等級別。在阿里的話,技術專家/架構師一般為 P7,高級技術專家/高級架構師則一般為 P8。每個特定領域都有不少大牛在前方引路,Android 有朱凱、任玉剛、郭霖等,iOS 有唐巧、王巍(喵神)等,前端有阮一峰、尤雨溪等,後端的牛人就更多了,不同細分領域都有不同的牛人。

對這些牛人來說,所謂的職業天花板並不存在,中年危機也不怕,裁員也裁不到他們,實現年薪百萬更不是事。這些不同領域的牛人向我們證明了,就算只往一個特定領域深耕技術,也可以發展出非凡的職業道路。

往縱深發展也是大部分程序猿畢業之後首選的路,但越往深會越難,就像登山一樣,不是所有人都能登上山頂的,能登上珠穆朗瑪峰山頂的人又有幾個呢?

想要在縱深方向發展得好,尤其是想達到技術專家甚至以上級別,有幾個基礎能力要培養:

  1. 技術基礎要紮實,這是基本功。就比如跑馬拉松,如果你的耐力、肌肉、肺活量,任何一項不夠,都很難支撐你跑完馬拉松。而技術的基礎無非就是數據結構、算法、語言基礎、編程思想等。
  2. 要掌握高效學習的能力,提高技術進步的速度。為什麼程序猿會有中年危機?為什麼年紀越大越容易被裁?為什麼工作經驗越多越難找到新工作?假如,面試者有兩個技術能力處於同一水平的人(薪資水平也相同),一個是工作了三年,一個工作了十年,如果只能留一個,你覺得面試官更願意留哪一個呢?
  3. 要養成「知其然並探知其所以然」的思維習慣。優秀的程序猿,對某項技術,不會停留在只知道怎麼用的程度上,而會去探究背後的原理。比如,很多人都會用 HashMap,但是否會去研究 HashMap 背後的數據結構、實現原理?比如,大家都知道 MVC/MVP/MVVM,但是否有深究過各自的優缺點、適用的場景?

其實,後面講到的任何發展路線,不管你選擇了哪一條,以上三個基礎能力都是必須培養的。

優秀的程序猿一般每 2~3 年就可以提升一個級別,用不了 10 年就可以達到技術專家/架構師的級別,我自己目前也是處於該級別。不過,優秀的程序猿一般也不會只在一個方向上發展。


程序猿們那些可選的職業發展路線


2. 橫向拓展

縱深發展是在特定領域的技術深度上進行深耕,而橫向拓展則是開拓其他領域,從廣度上拓寬自己的技術能力。比如,原本做 Android 開發的可以拓展 iOS 開發,也可以涉獵前端開發,還可以涉足 Java 後端開發。

橫向拓展有什麼好處呢?我們可以反過來看看,如果只專注於一個方向的縱深發展有什麼弊端?第一個風險,請參考塞班(Symbian)。雖然中短期來看,Android 和 iOS 不會出現 Symbian 一樣的下場,但未來誰也說不準。另外,隨著跨平臺框架(比如 Flutter)的不斷完善和優化,原生開發的路是否會越來越窄呢?Java 也一樣,隨著區塊鏈技術和人工智能的發展,越來越多公司和團隊選擇 GolangPython 應用於這兩個領域的開發,那 Java 生態是否也會慢慢沒落呢?

俗話都說,不要在一棵樹上吊死,不要把雞蛋放在一個籃子裡,所以,最好也不要只專注於發展單一的技術領域。

每個特定領域的開發者進行橫向拓展時都可以有各種不同選擇,具體到每個人,就要結合各自的具體能力水平、興趣愛好、長遠的職業規劃等進行綜合考慮,最終選定一個適合自己的拓展路徑。我在這裡給出一些建議,僅供參考。如果你是做 Android/iOS/Web 前端開發,除了繼續在原有技術領域上縱深發展,橫向上我建議首選 Flutter,往大前端方向發展,這是前端方向的必然趨勢。Android 人員的第二選擇我建議選擇拓展 Java 後端,往 Java 全棧的方向去發展,後端的路相比會寬很多,慢慢就可以發展成既懂前端又懂後端的架構師、高級架構師等,這會比單純只懂後端的架構師更有優勢。iOS 和 Web 開發人員的第二選擇我則建議直接從 Golang 或 Python 起步,尤其是 Golang,如果說未來 Java 真的沒落了,那有望能取代 Java 的領頭位置的,我覺得 Golang 最有潛力。

從長遠來看,橫向拓展不一定只拓展一個方向,可以逐步拓展多個方向,但剛開始不建議同時拓展多個方向,建議至少讓拓展的第二領域達到高級或資深級別後再去拓展下一個方向的技術領域。以我自己為例,我一開始是做 Java 後端的,後來逐步拓展了 Android、iOS,近一年多則拓展了 Golang。


程序猿們那些可選的職業發展路線


3. 管理方向

不管是縱深發展,還是橫向拓展,都只是在不斷精進技術。有些技術極客會一直熱衷於鑽研技術,不太喜歡也不擅於與人溝通,更不擅於從事管理工作,我有部分前同事就是這樣的人。但不少程序猿還是傾向於慢慢轉向管理崗位,從主管

經理,再到總監,最後到 CTO,逐步向上攀爬。成為 CTO,成為一個公司的最高技術領導人,這是大部分技術人員在職業道路上的終極目標。

但管理之路的晉升,比技術之路難得多,尤其要成為 CTO,除了一些特例,一般需要熟悉全棧技術,需要精通架構設計,需要具備全局思維,需要懂商業模式,等等。做管理,不同於做技術,除了要管理團隊,也要管理項目,其實就是管理人和事。管理人,核心在於管理人心;管理事,核心是要做正確的事

大部分程序猿應該是在工作了 4~6 年、達到資深開發級別之後,才開始有機會步入管理崗位,擔任技術主管或技術經理。在這之前,可能也會做一個小組長的角色,指導一些初高級程序猿,從中鍛鍊管理能力。在阿里,主管是 M1,對應於技術崗的 P6,經理是 M2,和 P7 相對應,再往上 M3 則是高級經理,M4 為總監。

每個垂直領域都可以做到總監級別,比如 Android,最高也可以做到 Android 總監,但只有大公司才會有這樣細分領域的總監崗位,中小企業基本是沒有的,中小企業的總監一般都特指後端的技術總監。還有很多小創業公司,整個公司就一個技術管理崗位,可能掛職技術總監或 CTO,總之就是一個技術負責人,除此之外,沒有其他技術管理人員了。

想晉升為管理人員,首先需是出類拔萃的程序猿,不然,那麼多程序猿中,領導為何要提拔你。低層管理,其實更多的還是偏技術,只是同時兼點管理職責。中層管理,一般就是技術和管理各佔一半了。高層管理,則更偏管理了,對技術的要求主要在於廣度和全局觀,對技術深度則沒多大要求了。


程序猿們那些可選的職業發展路線


4. 轉型產品

從技術開發轉型做產品設計,走產品經理的路線,也是一些人的選擇。我的朋友中,就有一位本來做 iOS 開發的,後來轉型產品經理;另一位本來做 Android 開發的,也轉型做產品了。這兩位朋友目前都在自主創業中。

就連馬化騰也一直將自己定位為一個產品經理。我們都知道,馬化騰、張小龍、張一鳴,都是國內頂尖的產品經理,但他們其實都是程序猿出身的。其實,很多程序猿出身的企業大佬,雖然不是掛著產品經理崗位,但都是「產品經理」。所以,不要將產品經理狹義地定義為具體的崗位,不管什麼崗位,只要具備產品思維、主導或參與產品設計、產品決策的人,都可以稱為產品經理。比如,我在公司擔任的是技術負責人,但我將自己也同時定位為一個產品經理,因為公司裡的產品目前主要是由我主導的,雖然我並不擔任實際的產品崗位。

我一直推崇每個技術人員都應該學習下如何做產品,培養產品思維,不一定是為了轉型做產品,但懂產品的技術人員是很受歡迎的。

要學習如何做產品,我推薦讀過的幾本書:《用戶體驗的要素》《啟示錄:打造用戶喜愛的產品》《精益創業》《騰訊方法》。

如果是要轉型做具體的產品崗位,那還要學習需求分析、原型設計等。


程序猿們那些可選的職業發展路線


5. 開拓副業

我認識一些大佬,通過發展副業,當副業的穩定收入超過主業之後,毅然辭職,全身心投入到副業中,讓人羨慕不已。

程序猿做副業也有很多選擇,大部分會選擇做自媒體,通過寫文章吸粉,通過收費社群、付費內容或寫書等實現知識變現,一旦實現穩定變現,就能夠產生複利增長。做自媒體是一條漫長的路,需要堅持輸出高質量內容,而且可能長時間都很難變現,但一旦形成了一定知名度和影響力,會有各種提升的機會向你招手,比如,有人邀你寫書,有人邀你錄製課程,有人給你推薦好工作,等等。做自媒體的價值不止在於知識變現,還存在很多隱形價值。

還有不少人會不定時接外包項目,可能自己一個人單獨做一些開發工作,也可能和其他幾個小夥伴一起組隊,合作完成整個項目。接外包單次的收入相對會高一些,但並非總是長時間有外包項目可做,且較難實現複利增加,還會大量佔用自己的休閒時間,還經常會遇到拖欠尾款的問題,又累又不穩定,所以大部分人都只是偶爾接一兩單回來做,或只接一些短期、輕鬆的項目。對於長期接項目的人,更多情況是做著做著就自己成立外包公司了。

也有人會自己開發一些小產品,比如一些簡單的 App 或網站,然後提供收費服務或直接賣產品源碼。比如,我有個朋友就自己業餘時間開發了一個給外國人用的招聘網站,對招聘企業收取服務費。還有另一個朋友會開發一些區塊鏈遊戲,然後賣給想要的人。

有一些大佬還會為企業或個人提供諮詢服務,比如幫企業做架構設計,或為解決技術難題提供方案,或給人提供職業發展建議等。有一個平臺叫「在行」,不少行家就通過該平臺對外提供諮詢服務。

還有兼職開滴滴或送外賣的,以及,這段時間社交電商很火,所以不少人也加入了其中,在朋友圈、微信群賣起貨來了。

所以程序猿開拓副業,是有很多選擇的,但我傾向於做那些能實現複利增長的副業,即要讓自己投入的一份時間能賣多份,比如做自媒體、賣課程、賣服務、開發自己的產品等。

最後,要發展副業的話,我推薦兩本書:蕭秋水和剽悍一隻貓合著的《知識變現》,以及安曉輝的《副業賺錢之道》。

6. 棄療轉行

最後一條路,那就是放棄治療轉做其他行業了,比如開個小飯館,或開個咖啡館。中國是全球最大的消費市場,隨著邁入中產階級的人越來越多,存在很多賺錢的機會。消費升級、嬰幼兒的吃穿、教育等,到處都是機會。

我還有朋友從程序猿轉行做保險推銷員,其實,現在也是越來越多人開始注重購買保險,主要還是為家人和自己購買醫療險,尤其是為孩子,不少人從孩子出生就給寶寶購買各種保險了。

也有朋友轉做股票操盤手。從去年開始,更多資金已經從房地產向股市轉移,政策上也在大力扶持股市。

還記得當年那個賣豬肉的北大學子嗎?被稱為「北大屠夫」,人家身價早已過億了,他和同是北大的師兄陳生一起創立的「壹號土豬」,估值已經超過 40 億元,年營業額達 18 億。還有一箇中央民族大學的劉浩明,賣煎餅果子月入 13 萬。還有「松哥油燜大蝦」,其高管團隊 80% 來自華為,包括創始人徐松也是從華為出來的。

希望你能從這些案例中得到啟發。


分享到:


相關文章: