1. 程式人生 > >我看軟體工程師的職業規劃

我看軟體工程師的職業規劃

前言

寫這篇文章源於某條微博評論,原內容大概是一個快40歲的人還在當程式設計師寫程式碼,評論內容大概是:有些人就喜歡當程式設計師寫程式碼,無可厚非。但是,現實情況中是否真的能做到“無可厚非”呢?我思考了一陣子以後,就有了這篇文章,希望與所有職場人共勉。

首先我要申明一點,我不是磚家,也不是牛人,我只是一名普通的IT從業者,本文只是我對我們IT人的職業生涯規劃的一些觀點和意見,如果大家有不同意見,或者覺得我的觀念欠妥,歡迎討論,但是拒絕謾罵、吵架和攻擊,謝謝。

簡單介紹一下我的情況,我是03級的本科生,07年畢業後一直從事軟體方面工作,現在是一名專案經理,到今天為止,我差不多有5年半的工作經驗了(我是07年3月就進了公司)。那麼為什麼我現在會對職業生涯規劃有感悟呢?因為隨著時間的增長,我越來越覺得我們混職場的IT人(當然不限於軟體行業,只要是職場人)如果沒有一個很好的職業規劃,那麼隨著時間的流逝,我們逝去的不僅僅是年華那麼簡單;當你某天猛然發現當年同一起跑線的同窗朋友,現在跟你的差距大到讓你愕然時,你就真的很難很難逆轉這種局面了。當然,我這樣抽象的說,很多人無法感受到這種緊迫感和恐懼感,下面我分3個方面來說明職業生涯規劃的重要性。

第一,職業生涯規劃是事業的導航

首先我們搞清楚,事業是什麼??喬布斯的蘋果公司,叫事業;你每天上班路上賣油條豆漿的大媽的早飯攤,叫事業,同樣,我們IT人每天上班時,在格子間乾的事情,那也叫事業!很多人總是覺得自己是個小職員,每天都做著小事情,似乎事業這種詞彙應該總是伴隨著老總、資金、企業這種概念的,所以,反正我只是個小職員,反正我又不是名校畢業,反正我的學歷一般,就算規劃的再燦爛,也只是畫餅充飢而已,還不如每天耕好自己的一畝三分田,剩下的就是老婆孩子熱炕頭了…(中槍的同學舉個手看..)

我認為這種思想最大的毛病就在於自我否定。我舉個例子,CS 這遊戲大部分人都應該玩過吧,你進一個主機開始遊戲以後最多的動作是什麼??不是開槍,不是到處走,不是換子彈,而是按tab檢視排名!每個人都想多殺點人,多拿點分,進入警察或者土匪榜的前三甚至第一,難道你會說:反正我技術一般,還不如給別人做嫁衣,讓別人殺了拿分呢?所以,我們在職場混,也好像在玩一個現實版的遊戲,那麼我們的目的就是拿高分,也就是向更高的目標進發,無限的接近目標,甚至超越目標,而職業生涯規劃,就是你達到目標的一個個里程碑,它會每時每刻為你指明你的方向,讓你明確你的目標,並一步一步走下去,所以職業生涯規劃絕對不是畫餅充飢。

當然,你的目標必須切合實際,但是也不能太過於保守,甚至可以是一種階段型的規劃。比如我,我07年進公司是程式設計師,程式設計師的地位好工作大家應該是再熟悉不過了,我本科讀的是個三類大學,還不是軟體本職專業,但是有幸能找到這樣一份工作,我還是很感激老闆的。既來之則安之,學習技術技能,累積經驗,同時關心行業的發展前進和自身的晉升路線。當時我瞭解到,程式設計師的發展一般來說是這樣,程式設計師→軟體工程師→架構師→系統分析師(技術路線)或者專案管理師(管理路線),最終到達技術總監,或者專案總監甚至CTO、COO或者CIO等高階職位。也有程式設計師後來進入測試領域,後來成為QA或者QC,最後成為質量總監等。我根據我本身的性格,興趣,和切合自身的發展方向等多方面因素考慮,定下來自己走專案管理的路線,我給自己的職業規劃是這樣:程式設計師→軟體工程師→專案主管→專案經理→專案總監→CIO;而我也確實一步步正在實現了自己的規劃,能夠到達今天的這個位置,職業規劃起了相當大的作用。它總是在不停的指引和鞭笞我向目標進發,而我自己也從來沒有感到彷徨,沒有困惑過,因為我有目標,有規劃,有方向,這就是職業規劃的力量!因此,不要因為你現在的微不足道而放棄對自己的規劃,飯要一口一口吃,只要你做好切實可行適合於你的規劃,並且一步一步的按著規劃來做,達到目標就只是時間問題而已了!

另外有一點我想說一下,就是很多人認為“計劃趕不上變化”所以這種規劃性的東西就算寫的再好以後也可能會“趕不上變化”。我認為吧,如果你還是在學校的學生,可以有這種想法,但是如果你已經入了職場,那麼就別這樣想了,除非你想做一個經常轉行的人,那我就沒辦法了。我當年在學校被輔導員逼著寫職業生涯設計(比賽)的時候,我也有過這種想法,並且覺得職業生涯設計時個扯淡的事情。但是後來工作後發現這個還是非常重要的,如我上文所述,是個不可或缺的東西,至少我這麼認為,也確實給我帶來了很好的收穫。這個畢竟是個在你職業中導航的東西,就算有些和你的現實生活有些避免不了的小差距,但是至少一份好的職業生涯規劃在大體上會給你一個方向性的指導,不至於讓你在某些時候感到迷茫。

第二,職業規劃能給你帶來你想要的東西

有句老話叫做“無欲則剛”,我承認我是俗人,我沒有那麼坦然淡定的心態,我在某些時候甚至俗到想要魚和熊掌兼得。但是,這錯了嗎??答案當然是沒有。只要通過正當途徑,你獲得的越多,反而證明你越有本事。

有很多程式設計師總是有這樣想法:現在我是不行,但是等過幾年我有經驗了,工資和職位自然就上去了。暫且不說這種想法對還是錯,我先講個真實的故事。我曾經有個手下,叫小Y好了,是09年的應屆生,被公司招進來後安排在我手下當程式設計師。相處一段時間後,我發現小Y這個人能力很一般,也不願意利用空閒時間學習(因為是吃技術這碗飯,所以我覺得學習真的很重要,後面會詳談),而且幹活很粗糙,寫的程式碼往往總是要我返工修改。當年年底我給他的績效考評比較低,因此第二年加薪的時候,他相較於他的在其他部門當程式設計師的朋友要低很多(當時是一批招的),所以對我對公司有很大意見,後來我找他談,我就很直接問他憑什麼要求加薪水平跟別人一樣?他回答我說他工資太低,來了一年還相當於應屆本科水平。我說可是你的能力比某些應屆生要差很多(當時我有另一個2010年本科應屆生手下,能力非常強,起碼有2年經驗程式設計師的水平)。他就回答我說他有經驗。所以看到這裡,各位也也應該猜到了結局,不錯,後來小Y走人了。

我講這個故事看似和職業規劃沒有太大關係,實際上我覺得還是能說明一些問題的。也就是說,經驗重不重要呢??毫無疑問,在任何行業,經驗都是非常重要的東西,而且用錢也買不來。但是大家切記,不要認為單憑“經驗”這東西就可以無敵了!比如你喜歡搞技術,你想以後當個牛X的架構師,但是你僅僅靠當程式設計師而不去學習相關知識,就算累積10年編碼經驗,也充其量只能到軟體工程師的程度,到架構師的那道坎很難跨越過去。那麼你想得到的,終究還是水中月,看起來很近,實際上還是很遠。

有些朋友會說:我不想的到什麼,我不想要什麼,現在這樣挺好,我也挺喜歡寫程式碼的,職業生涯規劃對我來說也就沒什麼用。好吧,我承認,這樣的朋友境界比較高,我自愧不如。但是你要明白,你是生存在社會裡面,你不是一個獨立的個體,你有家庭,你將來會上有老下有小,甚至你還要擔負你老婆的生活,我不知道當你的父母需要你養老,你的房車需要你還貸,你的兒女需要你繳學費,乃至於你的兒子需要娶媳婦(如果是女兒就賺了,哈哈)的時候還能不能有這種淡定的心態呢??還有,你們想想,當你30好幾歲了,快40歲了,還和20出頭的年輕人在一起寫程式碼的時候,會是什麼感覺??他們年輕力盛,充滿激情,跟你當年一樣,熬通宵,連續工作10小時,不規律吃飯,哼都不會哼一聲,但是你呢?當你體力下降,記憶力下降,邏輯分析能力下降,思維開始遲鈍的時候,你覺得你還拼的過他們嗎??當你的公司為了維持一個僅僅有“經驗”而其他各方面都不如年輕人,卻還要支付高於年輕人一大筆工資的中年人的時候,你覺得公司會怎麼做?我不知道各位看到這裡有什麼想法,反正我每每想到這種情況,我的後背會發涼,我會覺得很恐怖,真的很恐怖!所以你最好還是收起那份淡定,去努力的博取你所必須要博取的東西吧,職位,薪酬等等!想要這些,說容易也容易,做好職業生涯規劃,自然總有一天能夠達到目標。

當你做好了職業規劃後,給自己定下一條線性的職場進化路線圖,定下每個里程碑,每個小的關鍵點,包括為了達到這些里程碑和關鍵點所需要做的事情,或者需要累積的知識,那麼這樣在你日常工作中,你不會胡亂的去累積所謂的“經驗”,而是有針對性的,有目的的去學習或者去鞏固或者去鍛鍊你的能力,這樣一來,日積月累,你就自然而然的按照職業規劃的線路走下去了,反過來說,你就一步一步的實現了自己的目標,得到了自己想要的東西。比如我當年給自己頂下專案管理這條路,我在平時工作中就非常注意鍛鍊這方面的能力,比如跟客戶溝通,比如撰寫文件,比如協調團隊,等等,另外,我也強制要求自己學習專案管理方面的知識,強化管理的理念和能力,並將理論用於實踐,將書本上學到的專案管理知識,比如進度管理,成本管理,範圍管理用於我現實的專案中,這樣就形成了一種良性的迴圈,我學到的越來越多,工作也越做越好了。那麼自然而然的我就從軟體工程師到專案主管,再到現在的專案經理,我想要的,我確實得到了。

第三,職業生涯規劃能夠讓你持續的學習

前面我在說小Y的例子的時候說到過,作為一名技術領域的人,持續學習是非常重要的,這是你在這片殘酷競爭的環境下生存乃至拔尖的唯一方式。前面我說過,僅僅靠工作中的那點經驗累積,對於我們的發展是肯定不夠的,必須要通過充電來補充知識,才能推動我們的晉升。而很多搞軟體的都面臨一個問題,就是沒有動力去充電,一想到看書就頭大,還是寫程式碼比較有意思。

其實大多數人都明白學習的重要性,只是真正能夠做到持續學習的人實在是少之又少,你捫心自問,你每天看書(技術相關)時間有多少?大多數人少於兩小時的,可能更多人會選擇逛逛部落格園或者csdn之類的網站罷了。學習的重要性我在這就不老生常談了,大家讀了這麼多少年的書肯定就聽了多少年,難就難在堅持。我去年考了復旦的在職碩士,今年考了軟考的高階專業,資訊系統專案管理師,為什麼?因為我覺得我的知識不夠用了,需要充電,需要接受更多的知識來幫助我達到我的職業規劃目標,而這些考試,都是需要閱讀大量的資料,學習大量的知識才能得以通過的,真心不容易!那麼我的動力來自於哪裡呢?就是來自於我的職業生涯規劃。

5年前我給我自己的職業生涯規劃大致是這樣的:程式設計師→軟體工程師→專案主管→專案經理→專案總監→CIO,越向後面每一步所花的時間和所付出的努力就越大,也就是說,我現在已經到達了專案經理的位置,如果要向前再邁一步,我必須要付出可能比前三步還要多的時間和精力,而我目前的水平還遠遠夠不上專案總監,那麼怎麼辦??學習!!!和修煉武功一樣,只有通過學習理論以及將學到的知識應用到工作上產生經驗的累積,才能讓我真正的提升內功,達到下一個境界!

我目前正在備考軟體架構設計師,明年上半年準備考系統分析師(都是軟考的高階考試),下半年考PMP,後年上半年準備碩士論文答辯(這也是職業規劃的一部分)。我想等到後年,7年+工作經驗,加上我的知識累積,去拿下專案總監的位子應該是不在話下了吧,這樣我就又完成了職業生涯規劃的一步了。我現在每天保持至少4小時的學習時間,來補習我的基礎知識以及專業知識,而我學習的動力,很大程度上就是來自於我的職業規劃,我一定要向前邁出那一步,就算再辛苦,再勞累,也無法阻擋我的腳步!因此,給自己的職業規劃,其實也是一個很好的鞭笞你持續學習的理由,無論什麼事情,就算再困難,一旦有了動力,我相信就會堅持下去的!

說了很多,不知道我的意思大家能不能理解了,其實歸納一下,職業生涯規劃是指導你,鞭笞你的工具,反過來也是你一步步需要去達成的目標,相輔相成,互相作用,最終的結果就是將你的內功修煉的爐火純青,而你也可以憑藉你強大的“武功”去獲得你想要的一切!我希望所有看到這篇文章的軟體從業者,特別是年輕的程式設計師們,都可以給自己做一份職業生涯規劃,給自己定一條路線,讓自己在這條路線上一步一步走下去。