看到這個問題,作為一個資深的程序員和管理者,我認為我有資格來回答這些問題。無論你是因為愛好編程走上程序員這條路,還是因為看見程序員的高薪加入這個行業。既然有這個疑問,就說明你已經有了職業焦慮:程序員真的能一直做下去嗎?是不是35歲就面臨著中年危機?單靠寫代碼能走向管理者崗位嗎?大齡程序員的出路在哪里?我結合我自己做10多年程序員的經驗(擔任過高級工程師、數據架構師、數據負責人和數據總監等崗位),講講大家都十分感情去的問題。
一 程序員能干到退休為止嗎?
1.1 從初級程序員開始,不要錯過的發展路徑
首先,程序員們關心的都是自己在這個行業能干多久,而不是在某個公司待多久。尤其是現在行業內卷非常嚴重,幾乎不可能讓你在一個公司工作一輩子;因為,行業變數很大,說不定哪天就裁員了,而且你正好在裁員名單中。針對這種情況,我的建議是:
在自己30歲之前,一定要不斷地豐富自己的知識庫,讓自己的能力保持在行業的頭部。
① 初級->中級
這個階段主要是學習,在很少依賴其他人幫助的前提下,能夠保質保量的完成手上的工作。在這個時期,自己多找幾個師父,由資深的程序員對你做技術路線的指導。這樣即可以少走彎路,又可以快速地學習和掌握前沿知識。
② 中級->高級
這個階段主要是從公司現有的技術架構中,提煉出高難度、有價值的內容。并能夠用批判的眼光看待這些事,總結出哪些做得好,哪些做得差。如果是你來做,你會怎么做?
可以從領導對你的信任角度上,看出來你在這個階段成長的好壞,如果讓領導和團隊成員對你非常信任,說明你這個階段是成功的,可以方向的走向第三個階段。
③ 高級->資深
這個階段至關重要,涉及到你是走專家路線還是走管理路線,這是一個轉折期。如果自己擅長溝通和樂意交流,在這個階段多觀察你的直屬領導是怎么安排工作的,他的工作方式有哪些缺陷,如果是你你會怎么做,需要不斷地總結歸納管理方式方法;除此之外,在技術方面,必須要學會復盤,并且愿意復盤,而且是愿意看別人復盤。復盤是對程序員幫助最大的環節,一定不要認為復盤是浪費時間。
如果你想走專家路線,那么就要保持頭腦的清醒:你做的內容是純技術還是業務+技術。如果是純技術,那么走專家路線是沒有問題的。否則,千萬不要走專家路線。
1.2 消除常見的誤解,包括【只能吃青春飯】
一定要消除青春飯的這種不良的意識,為什么呢?因為管理崗也是技術出身。從程序員編程管理人員,也能夠年薪百萬。如果你不是科班出身,怎么能做好一個管理者呢?一個管理者需要的技能很多,需求分析、目標設定、資源協調、團隊協調和賦能培訓。管理者不是想想就能做到的,需要既懂技術又懂業務,同時還要懂管理,更要會報告,會表功,甚至會做客戶的公關,智商情商雙雙在線。
如果你練就了這一身本事,還能是青春飯嗎?是不是感覺到自己有很多內容要學習,要修煉。
二 我適合做管理還是技術
2.1 并不是說管理者一定會脫離技術
作為程序員,其實人到中年,就要面臨著轉型的挑戰。如果一直寫代碼,你和20歲出頭的小伙子去競爭,就會累得頭破血流。人無遠慮必有近憂,就職業發展規劃來說,應該轉型為架構專家、算法專家,研發主管或者項目經理。
管理者不是必須要懂技術,管理本身就是一門學問,職業經理人就是依靠管理吃飯的。管理的真正核心是利用資源,知人善任,自己不懂技術可以找一個懂技術的人。經??匆姽镜母吖茉谧儎?,他們在技術、專業方面不一定有多精通,但是具備了經營管理的能力,一樣可以在新的領域取得成績。
2.2 不要做自己不擅長的事,不盲目追求高薪
追求高工資,帶來的是錢,也是一種成就感。但是一味想通過跳槽來升職加薪,是最不可取的??梢载撠熑蔚刂v,在你的職業生涯的頭5年,這種做法影響不大。但是在5年以后,你會發現自己沒有沉淀和積累,因為換工作也是非常耗精力的。
不要看見別人做了管理者,自己就認為可以做。自己一定要認清楚自己的能力范圍,在能力達到時,并且自己愿意轉型時,值得一搏。
三 除了寫代碼,你還有很多事情要做
3.1 學會互聯網思維,多渠道發展,多種經營
有人會說,我現在已經35+歲了,我還是普普通通的程序員,沒有一技之長,也不懂管理。我該怎么辦呢?互聯網時代給了我們很多創業的機會,比如可以做自媒體,直播帶貨,自己開一個小型的培訓公司。
最好是在自己年輕的時候,就考慮過有一天會被IT行業淘汰,那我應該去做什么呢?要著手準備什么呢?
3.2 掌握跨界知識,成為跨界人才
我還是那句話,自己行業內的東西對于自己來說,是最簡單的。平時多和其他行業的人交往,多聽、多學,有可能他的領域就是你發光發熱的地方。程序員有著執著、冷靜、聰明的頭腦,做任何事情都不會比其他人差,主要是選好方向。