天天看點

程式員職業規劃:讓自己變得重要(轉)

昨天在Better Software Magazine上看到一篇文章Make Yourself Essential(雜志不在手邊,文章名和雜志期号都記不清了),談到了IT市場變幻,程式員風光不再,身為程式員應該怎麼應對。作者開篇明義:工作外包,公司裁員,是公司的錯麼?當然不是!一切都是程式員的錯。當我們技術淪為大宗商品(所謂大宗商品,就是說商品和商品間的差別主要就是價格了)的時候,我們被收費更低的競争對手代替的日子也就不遠了。而随着技術的進步,很多程式設計技術也就不可避免地成為大宗商品。而要想增加自己的重要性,變成公司不可缺少的人才,全在程式員自己的努力。為此,作者建議程式員學習企業家精神來提高自己的能力和地位。也就是說,我們的技術相當于我們的産品,那怎麼才能讓人們需要我們的産品呢?作者提出了四個步驟: 

調研。如果你是一家公司的CEO,你會不會因為一個産品有趣,或可能有買家,就輕易投資?顯然不會。同理,我們時間精力有限,怎麼也不該去學習屠龍術。這點其實對CSDN上很多小蘿蔔頭應該有所啟發。成天鑽研些i+++++i實在浪費時間。一個企業家在投資前,會花費大量時間精力調研投資可行性。以此類比,我們程式員也應該仔細思考,自己到底應該學習什麼東西。作者提出了一些通用的指南,比如學習還處在上升階段的技術,不要花太多時間在過于大衆化的技術,除非你在那方面出類拔萃,等等。 

投資。對普通程式員來說,我們的資本就是時間。投資重在持之以恒,放長線吊大魚。我們應該每周都安排出一定的時間來學習。當然,時間也不要太長。過重的負擔隻會讓人半途而廢。學習的要點之一是勤練。普通的程式員隻在工作中練手,顯然不夠,就好像一個優秀的音樂家不會在面對聽衆時才練習一樣。台上10分鐘,台下10年功,是為至理。Pragmatic Programmer的作者Andy在他的網站上推出一系列的Code Kata,給不知道怎麼練習的程式員提供練習的素材。另外,單純的程式設計已經不夠了。了解業務邏輯,了解管理流程,能把自己的技術和商務結合起來,解決實際的問題,才大有作為。作者建議我們有空讀行業雜志,和做業務的同僚多交流。 

營銷。沒人知道的功夫不算功夫。讓同僚,讓老闆,讓同行知道你的技術非常重要。争取在工作中應用新的技術。向人們展示應用你學到的東西後的功效。參加各種業内會議,結識同行。寫文章,寫書。這些都是利人利己,也增加自己影響力的途徑。 

執行。學以緻用。盡量把自己所學用到工作中去。工作态度也很重要。沒有那項工作所有任務都有趣。但如果我們緻力于完美地完成任務,單調的事也可以變得有趣。

如果對這些職業規劃感興趣的話,Pragmatic Programmer的另一個作者Dave的How To Keep Your Job是必讀材料,非常有啟發性。

程式員的個人發展

技術&管理&做人&行業

每天晚上,請你問自己這些問題:

1, 今天我是否克服了技術上新的困難?

2, 今天我是否多讀了一些新書?

3, 今天我是否就某方面的問題與人進行了交流?

4, 今天我是否多認識了一個新同僚或新朋友并準備與他們保持聯絡?

5, 今天我是否更多的接觸到身處的行業需求,現狀,和發展?

精通技術

精通技術是技術人員的根本要求,也是技術人員人生發展的必經之路,隻有首先精确掌握一門技術,才能觸類旁通的掌握其他技術。精通技術不僅僅是為了精通技術,而是為了觸類旁通,為了掌握精通技術的學習方法,研究方法,體會身處技術頂點的感受和境界,這樣,下一次準備或需要進入另一個領域時,才會有明确的目标。

為了精通技術,就要有以工作為樂的精神。不主張過于頻繁的換工作(常常被認為是不熱愛工作,不适應環境,或者不忠誠的表現)。以工作為樂,才會投入更多的精力和時間,才能夠飛快成長,成為該方面的能手。以工作為樂,是朝着技術高峰闊步邁進的享受過程。

如果僅僅的是以工作為樂,僅僅号稱自己喜歡工作,而沒有“朝着技術高峰闊步邁進”,則是一種浪費。要做工作和生活的有心人,才不會迷信技術,才會避免驕傲,才不會在達到某個水準以後停步不前。不僅要做有心人,還要學會研究。研究該門技術的發展方向,該門技術最好的學習方法,在該門技術上取得突出成就的道路,和激勵自己沿着正确的方向前進的訣竅。做好了這些問題的研究,就會在以工作為樂的境界中做出超凡的成績。

總之,

1, 反對不認真對待技術。

2, 反對不熱愛工作,一心旁鹜。

3, 做生活和工作的有心人。

懂得管理

懂得管理,既要學會管理,也要學會配合管理。那些對所有人和所有事情都吹毛求疵的人是不适應社會的,也是不容易成功的。懂得管理,既要學會管理工程(進度,過程,資源,需求分析,客戶交流),又要學會管理人。要重視團隊建設,重視團隊的合作,重視團隊的文化建設,重視團隊的凝聚力,重視管理者的個人感染力。

在使用者不能提出明确的需求的情況下,要綜合經驗,替使用者提出明确的需求。

符合标準的過程控制,方法論的實際應用可以引導工程有一個可期望的好結果。否則就是運氣的功勞。資源的合理配置,建設一個每個人舒适工作的環境,不要讓你的組員不得不總是把精力放在環境建設等問題上,是讓人做出更大成績的捷徑。

與人暢快交流的能力,成為軟體人員必備的素質之一。懂得行業的知識就從這裡開始。

那些單純學過管理的人,無論進入那一個行業,都需要不斷的迅速的學習一些關于該行業的專門知識,至少是名詞術語,基本原理,關鍵技術,主要應用。這樣的了解初步管理知識的人,一定不要對技術人員指手畫腳,否則一定得不到應有的認同,反之,如果他們從過程本身的流程或者方法論等方面提出建議,就可以更好的展現自己的價值。

進入行業

軟體工作,離不開行業,尤其是應用軟體。一個僅僅懂得實作技術的人,是不夠的。是以一定要拓展你的知識,對你所處在的行業有一個更全面,更準确,更實質性的了解。

軟體人員看到需求分析,常常想到如何去實作它,而不會認真的去研究這份需求,站在使用者的角度上來做更多的工作,這是值得軟體人才所注意的。

研究你所在的行業,也需要有一種系統的方法。了解其中的關鍵點是進入這個行業的捷徑。了解觸及該行業更多方面的關鍵點,是掌握這個行業的必經之路。對該行業做系統的總結分析,是深入該行業的目的。初步的研究成果經過更多的提煉和交流,就會成為金子般的智慧。

以下是幾點建議:

從點滴做起。先做好那些你力所能及的工作。标準化你的行業。你所處的行業雖然确定,但是每一家公司的需求各不相同。掌握他們做事情的流程,可以幫助你做好标準化。同時學習那些該行業的标準,以使用者的标準為标準,更加深刻的了解标準,是代替使用者做好标準化的方法。

掌握核心技術。任何行業都有核心技術。掌握某一項核心技術,就可以讓你進入這個行業并在其中生存,反之僅僅淺嘗辄止,就會讓你遭遇失敗,抱怨不公。

影響你職業發展的幾項能力

1, 研究問題的能力

2, 影響他人的能力

3, 個人履曆

請相信以下觀念 

1,教育不是萬能的。希望學校或者任何一個教育機構為你準備所有的知識,能力,水準,是不可能的。最好的大學是自己和無字書。

2, 成長在工作中。工作中的表現和積累才是人生騰飛的實際動力。 

 從今天起,請做好

1, 培養你自己更廣泛的興趣,并堅持你的人生目标

2, 鍛煉你的演講能力

3, 多認識朋友,以他們為榮

4, 培養你的遠見卓識

程式員職業規劃!(文中多次引用韓少雲老師的話)

很多人剛畢業時充滿活力,然而幾年的摸爬滾打後,沖勁就會慢慢減弱甚至消失。再加上IT大環境的

起伏不定,一旦無法跟上技術或者行業發展的步伐,便會迷茫。王洪超說:"以前晚上睡覺之前想事情,

經常都不知道自己以後做什麼。"

  這并不奇怪,工作的新鮮感褪程式員首先需要提高系統設計能力。從2000年以後,軟體業的程式設計思維

和模式、方法發生了翻天覆地的轉變,與九十年代、甚至2000年前是完全不同的。但是,很多在企業工作

的程式員的知識架構很難跟上。中科天博謝新華老師直率的指出:"現在很多程式員不是按照應該如何設

計最好做得,而是按照我會什麼來做的,最終造成設計思想落後。現在做項目需要的是新的、巧的設計思

想。我們可以将從無數次失敗中得到的理念告訴他們,包括如何學習,如何思考,技術變化的原因在哪裡

,其核心在哪裡。這樣程式員的了解力就會完全不同。現在,對程式員的要求降低了,但對系統設計的要

求提高了。是以程式員必須要提高系統設計的能力,否則永遠出不了頭。"

  而曾經從事過宏觀經濟研究工作的李巨鋒更喜歡從行業走向來談問題。他說:"現在中國純軟體公司

不多,但是,中國的經濟非常好,從整個社會的經濟和行業角度可以得出很多有價值的内容。很多人不了

解行業的需求情況,是以做不了判斷。"

  跟随一個快速發展的行業,就比較容易取得發展,而在一個發展緩慢的行業中成功就比較困難。當然

,有了市場容量有多大和機會,并不代表一定會成功,但沒有這個因素成功的幾率會更低。工作一兩年的

人,最關鍵的是要有一個方向感,不要太盲目,這就需要程式員有一定的判斷力。

  李巨鋒認為,電信行業新增的市場容量每年有1萬億,而且由于是新增市場,人員也比較容易進入。

此外,中國的手機市場非常大,由于無線應用的迅速發展,可以預料,基于手機和電信結合的軟體的就業

前景就比較好,事實證明,很多人也在向這個方面轉變。達内的成功與行業需求也不無關系,韓少雲說:

"從金融和電信行業角度看,對軟體人才的需求每年以30-50%的比例增長。熟悉這兩個行業所需要的IT技

術和背景的人才,需求量是最大,缺口也是最大的。"

  中國的資訊管理軟體市場也是容易就業的市場。現在市場上有數不勝數的小管理軟體公司,這是同中

國社會走轉型之路相關的。李巨鋒說,"基于商流、資金流、資訊流、物流的行業都有相當的發展前景。

通過産權交易的商流,帶動資金流和資訊流的發展。物流是新興的行業,這些都需要主流的IT技術。中國

的物流成本現在是20.9%,美國是9.8%,差距非常很大,這其中有1萬億的市場容量,如果軟體和資訊化

服務占20%的份額,也有幾千億的市場,行業需求很大了。事實也證明供應鍊等類型的軟體市場發展非常

迅猛。"

  而對于遊戲,李巨鋒認為這不能稱之為一個産業,因為它不像電信那樣帶動很大的一個産業鍊,現在

取得成功的隻有幾個遊戲,而且還主要偏重銷售,不是一個上下遊的産業。盡管比較熱,但李巨鋒認為相

比來說,至少一兩年内可能不會有很大的市場容量,這就需要進行判斷。

  李巨鋒認為,已經工作兩年以上的程式員可以有幾種基本的職業規劃:技術專家、軟體架構師、實施

顧問或銷售。其中程式員最主要的發展方向是資深技術專家,無論是Java還是.NET,還是資料庫領域,都

要首先成為專家,然後才可能繼續發展為架構師。"盡管架構師的職位可以工作一輩子,待遇也非常好,

對于科班出身的程式員最為适合,但這種工作職位非常有限。"一位畢業的學員到IBM軟體開發中心後,過

了一年左右,開始請教其未來的發展,結合對方的情況,建議他先深入的技術,因為在中國架構師需要的

條件比較複雜,而且需求量也比較少。

  實施顧問和銷售就比較偏向市場了,除了一定的技術能力外,需要掌握很多IT以外的知識。這些發展

方向對于從其他專業轉入IT的人員更為适合。比如用友就培養了很多實施顧問,這些人加上行業背景,收

入也很高。要做行業專家,就要比自己的行業客戶還了解這個産業的發展現狀。李巨鋒說:"比如煙草行

業,一定要了解大的趨勢,中國最多的煙民在哪裡,其實是在山西和遼甯,煙草行業的産業政策是什麼,

直接導緻我的需求是什麼,這些資訊對于職業發展很重要。IBM的一些顧問都是行業内的資深專家,他們

的發展就非常具有代表性。"

  對大多數人來說,首先是要專,在技術上做的比較深入,然後進行工作調整,把自己轉變為某個領域

的專家,第三步,根據自己的情況,決定自己做軟體架構師還是進階的顧問銷售,另外一部分人可能就會

走向行政管理,這和個人性格有關。

  要獲得職業成長,教育訓練也很有幫助。韓少雲說:"在北美,職業教育訓練是一種高端的教育訓練,即便是專業

的人員也需要職業教育訓練。一個人在一生中需要經過很多職業教育訓練才能成為一個資深或者專業的人員。而在

國内大家的觀念中,職業教育訓練還沒有被大家廣泛的認同。"

  對于更進階的技術人員,他們所關注的就不是解決基本的生活問題了。他們所關注的就是發展和成就

感。從現在看,他們更為缺乏的是交流,尤其是和水準差不多或者更高的人進行交流。李巨鋒說:"我建

議他們做一些國産的産品,做一些自主産權的技術。比如,我們還有産品開發的部門就在做國産資料庫設

計。"

職業規劃帶動更好的成長

從中國的軟體開發人員的層次看,工作幾年以内處于初級水準的程式員占據最大的比例,至少在50%之上

,進階的人員最多也就10%左右。但無論處在哪個層面,一定要有規劃,按照自己的個性和優勢做一些規

劃。

  一個程式員的成長,學習過程中首先要讀到好書,然後是交到好的學友,找到好的老師,在這三個外

圍的條件下,找到适合的工作環境,結合自己的特點,然後在一些重要的環節上遇到适合的人和合适的項

目,這樣才能成功。有些職位可能在開始的時候不适合,但工作一段時間後,可能就可以走上更高的職位

。最近,IBM軟體學院就開始做一個"軟體人才庫"的項目,為的就是跟蹤技術人員的成長,給他們在合适

的時機提供合适的職位。業内人士說:"IT行業良性的人員流動也是很好的。"

  有了一定的職業規劃,就需要補充自己缺乏的經驗,隻有經曆過足夠的項目,才有可能不斷積累。對

行業的判斷有一定的了解之後,對一般的企業适應起來是沒有問題的,但進階的人才需要長時間的積累。

  在中國,除了個人的基本技能,還需要具備一定的社會資源,行業資源和資本。學生要學會在提高智

商的情況下,提高自己的情商。因為,在人和人交往中情商起很大的作用。技術人員需要慢慢改變自己的

一些思維方式。個人成長要有意識的積累社會資源,認識相關的人,了解相關的政策和行業發展的過程和

規則,這些東西是非技術的,非智商的,隻要你關注就是可以得到的。我覺得最關鍵的就是多認識人,然

後有意識的尋找合适的事情來做。情商也就需要有管道,有多少人能夠幫助你,否則成不了。

  機遇和經曆對于職業的發展有相當的影響力。某些人或者某些事情都可能會影響到未來的發展。王洪

超也認為成為微軟MVP是自己的一個轉折點,由于成為MVP,便有機會接觸更多的技術朋友和微軟人,為自

己的發展奠定了基礎。

  總而言之,每個人至少三年要點評一下自己:是環境的原因,還是自己個人的原因,如果是環境的原

因,可以考慮是否需要換地方,如果知道自己,可以調整自己或者設的目标現實一些。從一個普通的程式

員做起,3年時間至少能夠做到做獨立需求分析和設計的。稍後,就設法需要通過一個目标為自己輸送動

力。這便是職業規劃。

繼續閱讀