一直以來程式設計師這一職業都給人高薪資的印象,近年來隨著網際網路行業的快速發展,程式設計師更是人滿為患,然而很多人關注的卻是程式設計師的薪資,而非職業本身。
一批批程式設計師進入工作崗位,但是很多人並沒有對自己的職業生涯有清醒的認識和系統的規劃,由此會在職業發展過程中遇到很多問題。
在此我整理出自己對程式設計師的職業規劃的一些見解,希望能幫助到他人,也是自己對職業生涯規劃思考的一次總結。
一、程式設計師是好職業嗎?
雖然很多程式設計師總是調侃自己,但是這個問題我想對於大多數程式設計師都是肯定的,包括我自己。
不說什麼改變世界的豪言壯語,單單就程式設計師本身的工作性質而言也是有無限魅力的:不用把太多的精力放在處理上下級、同事間的關係上,通過自己的敲敲打打做出產品本身就是一件很有成就的事。
當然,還有老生常談的程式設計師的薪資,程式設計師確實是一個薪資相對豐厚的行業,特別對於剛走向社會的人來說,據說那些說不看薪資選職業的一般不是騙子就是富二代……
近幾年程式設計師這一行業的薪資基本沒出過年度薪資排行榜前五名,這就足以說明問題。既然程式設計師是個好的職業,那麼,如何才能讓自己的職業生涯健康的發展?
我認為,首先要了解這一行業,下面我們就來看看目前大多數程式設計師的職業發展。
二、程式設計師的職業發展分類
程式設計師的職業發展大體分為四類。
1)一直鑽研技術
說到底打鐵還需自身硬,對於程式設計師這靠技術吃飯的職業,技術當然是至關重要的。
所以,對於那些熱愛技術,編碼能高潮的技術男這是一個好的方向,能坐住板凳,活躍於各大技術論壇,一直鑽研技術,然後在一家企業把控核心技術,就算職業生涯有變,憑藉在相關領域的大名,也能在另外一家企業混口飯吃。
這類人是幸福的,可以把興趣當作職業,每個公司都會有這樣的人。
2)技術轉管理
這是更加常見的一類,一般在一家公司工作幾年之後,由於經驗豐富,又熟悉業務就會成為專案經理,然後正常的話就是部門經理、技術總監一步一步的升職加薪,逐漸進入管理層。
這是很多人的追求,畢竟江湖傳言:程式設計師是吃青春飯的,對於很多公司,中層管理者和基層管理者一般會選擇自己公司培養,所以機會還是很多的。
但是你要知道這一過程是一個淘汰的過程,越接近金字塔頂人就會越少,所以這一類人一定是同一批或者公司中同水平中的佼佼者,才能一步步脫穎而出,很多公司的中層和基層的領導都是這一類的。
3)自主創業
這是近幾年很熱的一類,自己懂技術又接觸到一個自認為很好的點子,說幹就幹找幾個志同道合的人,或者被人畫了餅,寫策劃,找天使投資,然後說不定自己搖身一變就成了公司老總了。
自主創業為什麼這麼熱?就是有了很多屌絲逆襲的例項,加上有很大的可操作性,也確實有很多人成功,但是一定要清醒,要知道 jack ma 說過百分之九十網際網路創業的人都創業失敗了。
4)適時轉型
轉型分為很多種,比如轉型去講課,比如轉型去出書,比如轉型成為一名自由工作者,自己接需求,提供諮詢服務等。
比起這些,還有小的轉型,比如當年很火的打工皇帝唐駿就是轉測試,獲得了巨大成功,我們公司也有一些技術轉產品很成功的例子。
總之,俗話說的好,樹挪死,人挪活,當自己意識到處在瓶頸期,要學會轉換思維,目前很多講課網站,技術類公眾號,培訓班等渠道讓很多程式設計師順利轉型。
三,所需要掌握的知識體系
作為一名程式設計師,不管之後你選擇什麼樣的發展路線,在生涯前期你的技術能力一定要是過關的,這就需要達到一定的深度和廣度。
下面是我收藏的一個系統的學習圖譜,一個七個專題,如果需要可以加入我的Java架構/分散式/高效能交流學習群:454377428
併發程式設計專題
原始碼分析專題
效能優化團隊協作專題
微服務架構專題
專案實戰專題
分散式架構專題
每晚晚上八點到十點半,阿里大牛直播授課Java工程化、高效能及分散式、效能調優、Spring,MyBatis,Netty原始碼分析等知識點講解。有需要的朋友可以加入我們的Java架構/分散式/高效能群:454377428
四、程式設計師可選擇的職業發展方向
其實可選擇的職業發展方向也就是上面提到的大多數程式設計師的職業發展,這裡重點要說的是對於這四類人員要著重培養的哪些能力。
對於想致力於鑽研技術的小夥伴們,首先我們要記住老祖宗告訴我們的話:人外有人,天外有天。
其實很多程式設計師都是自負的,特別是公司中難不倒的人,或者領域內小有名氣的人,有成就有本事自負當然無可厚非,但是若想更上一層樓,或是想一直靠技術吃飯就要時刻關注新技術。
如今技術更新換代何等的快,可能前幾年還是公司的問不到,固步自封的話很快就會被新人所取代,這就是為什麼說程式設計師是吃青春飯的原因。
即使很有經驗,技術很強,但是年輕人成長速度是很快的,並且成本低!所以各大網際網路公司平均年齡一再重新整理最年輕的記錄。
甚至很多公司直接拿年齡作為硬標準裁員,所以這一類人一定要不斷提升自身,多交流,多分享,多學習。
對於想沉下心來技術轉管理的小夥伴,首先如果是從一名普通的程式設計師幹起的話,一定要經得起錢的誘惑,不能頻繁跳槽。
雖說程式設計師的定律,跳槽 = 漲工資,但是轉管理的前提就是足夠熟悉公司業務,能處理各種突發事件,這是需要時間經驗的積累的,而且聽說很多大的網際網路公司已經明令不收在一個企業工作不滿三年的員工了。
所以這一類人要在編碼之餘多關心公司業務,還要提升自身人際交往能力,領導要協調各方,交流能力必不可少。
對於想自己創業的人,一定不要急於求成,自己有一個好的想法或者接觸到好的主意就頭腦一熱說幹就幹,先要全面的評估一下可行性,特別是團隊中沒有有經驗的人,很容易考慮的不全面,創業失敗率可是高的嚇人!
創業除了要有好的想法,還要有天時地利人和,沒資本沒人脈創業和找死基本沒什麼區別,所以這一類人千萬不能心急,一定要先積累自己,包括人脈和資本,然後保持一顆活躍的心,抓住機遇才有可能成功。
對於想適時轉型的人來說,如果不想在 996,可以在工作之餘接觸一些自媒體,把自己的優勢轉化為資本,而且儘快。
因為可能你現在擅長的領域,過幾年就被淘汰了。所以要及時總結,如果對某一技術有深入研究和實踐過,並且表達能力可以,可以錄製一些視訊,或者直接來一場 Chat 也是非常好的選擇。
此外還可以接一些專案自己做,積累得多了可以出書,如果想要成為一名自由職業者的話,一定要先保證在一段時間內沒有經濟來源的情況下不被餓死再去辭職。
五、程式設計師要時刻記住的三件事
1)鍛鍊身體
身體是革命的本錢!
好的身體對於程式設計師來說真的特別重要,去年團隊中一個同事因為頸椎病在家躺了一個多月,他才二十多歲的年紀!
網上調侃,程式設計師最後讀的書是《頸椎病康復指南》,雖然工作時間長、壓力大,但是也要時刻提醒自己鍛鍊身體,眼保健操,一週幾次的運動一定要保持,最好久坐中間找個時間站起來活動活動。
很多公司都有很多運動社團和健身房,都是不錯的選擇。
2)提升自己修養
古人提倡內外兼修,好的修養會在很多方面幫助到自己,包括人際交往之中,好的修養會在舉手投足之間會讓人覺得很舒服,從而給自己增加很多機會。
利用一些業餘時間多讀讀書,旅旅行,是提升自己內在好的選擇,讀萬卷書行萬里路,也會讓自己眼界和胸襟開闊,在人生不如意的時候想得開、放得下,興許沒有比這個更重要的了。
3)加強技術和業務水平
這一點是老生常談了,無論怎樣規劃自己的職業生涯,踏實努力的提升自己技術和業務水平都是不可或缺的,所以無論你現在生活的是舒服還是掙扎,都不要忘了提升自己,給自己不斷加重是一個程式設計師時刻要記著的事。
未雨綢繆,毋讓悲劇重演。
一直以來,程式設計師的 “中年危機” 之談不絕於耳,而前不久,更因為中興程式設計師之事再起風波。
這部分我給大家講一個真實的例子:故事的主人公暫且叫他老宋,83 年生人,也是純科班出身,大學畢業後進入一家通訊公司做 .NET 開發,本來他對公司還是有一定看法的,起薪低、對技術不夠重視,不過隨著時間的推移,他憑著自身不錯的技術,不斷加薪,也越來越受領導重視。
慢慢地,原來幹一段時間就跳槽的想法沒那麼迫切了,就這樣,一干就是五年;後來公司的新專案越來越多的採用 Java 等其他語言,老宋第一次有了危機感,也想轉。
可是剛剛娶妻生子,一是實在沒有精力,二是當時他覺得過的還不錯,就這樣,一拖又過了三年,終於有一天上司找他談話,說公司在 .NET 上基本沒有需求了,原有專案也會逐漸砍掉,所以和他談談看看有什麼打算。
其實他早就知道了,半年前最後一名和他情況類似的同事,已經轉行,老宋不是不知道這一天遲早要到來。那段時間,他整宿整宿睡不著覺,莫名其妙和老婆發脾氣,但是沒有辦法,房貸還是要還,孩子還是要養,實在沒有什麼好的選擇,最後他還是被很委婉的態度勸退了。
之後他嘗試了很多其它工作,都不太順心,和媳婦也經常吵架,媳婦終於提出了協議離婚的要求,人到中年,工作不順,妻離子散 …!他真的感覺自己快撐不住了 …
其實對於老宋來說,他就是開始時走一步算一步。溫水煮青蛙,感覺過的還不錯,結果到後來就是沒得選擇。
如果他在剛開始就對職業生涯很清晰,若想走技術就一直關注並學習新技術線路,這樣在公司專案改技術時能及時跟上,或者看到自己在公司發展前景不好,早早的為下一份工作做準備;如果想轉管理,就積極地參與公司專案建設,鍛鍊自己的人際交往能力 … 總之不要在舉步維艱的時候才猛然醒悟!
其實有中年危機的不僅是程式設計師,所以我不想過多地去渲染其嚴重性。只是我認為身處於這個行業,我們有必要早為自己和家人做打算,古人說:預則立,不預則廢!
希望每一個讀到文章的人,都能未雨綢繆,多做思考,早做打算,毋讓悲劇重演。