一位計算機專業碩士畢業生的求職經歷和感想[轉載]

最近在爲考研成績出來而擔心,就在剛剛,還和大姐理論我們搞IT的考不上研究生該怎麼辦?但是回來,仔細的查閱一下,前輩對我們的忠告,讓我對研究生的學習有了更深的體會,在這裏,拿出來與大家分享,與更多的人分享:

先請各位朋友贖罪,我只是爲了讓更多的人看到這篇文章,讓更多的和我一樣處在考研和工作的十字路口上的同學一點啓發:

原文來自一個帖子,也不知道是不是最原始的:http://bbs.kaoyan.com/forum.php?mod=viewthread&tid=5122435

一下爲原文的內容:

我的周圍充斥着計算機專業‘工作經驗比學歷要重要’的觀點,我從來都不否認,但是考研不僅僅是爲了一紙文憑而已,考研是努力博取繼續進修的機會,在學習更豐富更高層次的理論知識的同時,還爭取時間付諸實踐,鍛鍊專業技能。

       據工信部統計,雖然中國學習IT的學生很多,但IT人才仍然非常奇缺,因爲在在IT人才中出現了嚴重的瓶頸,即大多數IT人員爲基層人才,中高級人才還是供不應求。鑑於這一客觀事實,考研還是很有必要的。 老師告訴我考學術型研究生是爲了做學術研究,然而碩士研究生只是初級研究生,學術研究能力還較爲薄弱,學術研究項目其實只能是由博士來做,這麼來說的話考取學術型研究生就是爲了考博,當然, 還有另外一個選擇,做高校教師。這一理論是有事實根據的,其實國家碩士研究生發展中心對學術型研究生的定性就是考博做學術研究或做高校教師。但是莘莘學子並不瞭解國家對學術型研究生培養的目的,只是盲目的認爲學歷越高越好,所以大學畢業感覺競爭力不夠強,於是繼續考研、攻讀碩士學位充實自己,這種想法固然是好的,但是不瞭解真實情況,沒能獲得預期的實效。

       由於2009年以前的學術型碩士跟不上發展的需要,碩士研究生是學術型的課程但是大部分確是不讀博士出去找工作,大部分的單位都反映學術型碩士專業技能太差,工程研究能力弱,又沒有什麼學術研究能力,學術研究型項目其實也只能由博士來做,而所謂的學術型碩士根本沒有什麼研究能力。教育部覺得形勢嚴峻,作出碩士研究生主要面向應用的決定,推出了“全日制專業型碩士”作爲一種全新的研究生形勢,並且從2010年開始減少學術型碩士,減少的名額用以增加全日制專業型碩士,最終達到專業型:學術型=7:3,(中國現況是專業型:學術型=3:7)全日制專業型碩士重點培養工程創新研究能力,培養高端應用型人才;而學術型碩士專門供給讀完碩士後馬上讀博士的學術研究型人才和準備當教師的人才做中間跳板用。中國的碩士研究生的性質將面臨,已經面臨一次重大的改革。在這場改革中工科計算機專業考取專業型碩士的價值就漸漸的顯現出來了。這讓“想登上軟件開發最高寶座--工程管理人員、系統架構師、軟件設計師,就必須先在企業里老老實實的敲幾年代碼”成爲過去,最終實現了高學歷意味着高起點,這讓我想起了黃埔軍校,在學校就千錘百煉,打造實用型人才,迎合企業用人單位的需要,這樣才真正的實現高學歷擁有高水平。

--------------------------------------------------------------------------------------------

1. 讀計算機研究生最好要有實際際開發經驗   

       這裏所說的“有實際開發工作經驗”通常應該具備:

       1)你已經認爲C++和彙編語言都是很簡單的語言,並能夠自如地運用;

       2)你完全理解STL爲什麼這麼重要;

       3)你能夠在30分鐘之內想到正確的五子棋AI算法設計思路和方向;

       4)你能夠獨立地解決所有的編譯與鏈接問題,哪怕你從來沒有遇到的問題,你也不需要詢問任何人;

       5)英文網站是你的首要信息來源;

       6)能夠讀懂英語寫成的國際標準,比如NTFS磁盤格式標準。

       7)你經常站在集合論的角度思考算法問題;

       8)能夠理解一個簡單的驅動程序,能夠理解一個簡單3D交互程序;

       9)你能夠認識到線性代數和概率論在實際編程工作中的極端重要性;

      10)你完全理解COM的設計思想,尤其能夠理解COM爲什麼要設計成這樣;

      11)當我說到虛函數的重要作用時,你不會急着去找書來翻;

      12)你能夠說出C++爲什麼比其他語言優秀的理由,記住這種理由應該來自於你的開發體會,而不是因爲其他人都這麼說。此外還有很多判斷標準,但如果你同時具備5條以上,可以認爲你已經具備相應的開發經驗了。在這種狀態下讀研,你將取得讀研效益的最大值。

       當然,如果你有實際開發工作經驗,感覺自己的水平和實力進入了一個高原期,迫切需要從理論上提高,那麼計算機學院是唯一選擇。因爲計算機學院才能讓你在理論上更上一層樓。當然能不能更上一層樓最終還是完全取決於你自己。需要特別說明的是,工作經驗並不一定等於開發經驗,我見過很多工作2-3年的人,但是沒有一點開發經驗。比如我。

       我原先的室友,研究生畢業,現在留校當老師,他好象從來都不寫程序,好象也寫不來程序。還需要說明的是,考計算機的人未必個個都是高手,嚴格來說,大部分都不會編程序。也就是說,庸庸碌碌之輩仍然佔絕大多數。我的許多研究生畢業的師兄都只有到高校教書等,甚至找不到工作。所以不要寄希望於拿一張研究生文憑出去賺高薪。但是,對於有實際開發工作經驗的人,要想自己在3年之中有一個真正的提高的話,計算機學院提供了廣闊的平臺。

2. 爲什麼要讀計算機研究生(目的) 

    讀研最重要的是要明白你自己要幹什麼,不能等導師來告訴你你應該幹什麼。研究生的優勢在於理論功底深厚,思維具有穿透力,當然編程能力首先要過關,不要讀完研究生還不知道MFC程序的WinMain函數在哪裏。所以,研究生期間,你一定要做有理論深度的算法設計,比如大規模數據的搜索算法,性能是首要考慮因素,不要奢望SQL函數能夠幫你解決問題,所有的問題你都必須自己解決,你必須解決內外存交換的性能瓶頸。再比如極品飛車的3D場景生成,圖形變換,碰撞檢測,物性模擬,紋理映射,燈光模型等等,這些都是可以保證你能拿到2萬以上月薪的技術。如果你認爲這些東西太難,不可能做得出來的話,那麼你就不適合讀研。

       真的,要是你認爲讀研之後還是要去搞一般的程序設計,如信息管理系統之類的軟件,那麼你讀研的價值就完全不會得到體現,因爲這些工作根本就不需要讀研。 如果你只想成爲軟件開發高手(比如認爲會編驅動程序或殺毒軟件就是高手的那種),建議工作,不要考研;完全沒有工作經驗的,也不建議考研,你進來了只有瞎混一通。如果你有上述工作經驗且想成爲高級軟件工程師(能夠獨立理解並設計出快速傅立葉變換算法的那種軟件工程師)的話,那麼強烈建議考研。考研讓你有3年放鬆思考的機會,也有3年讓你思想和技術積累沉澱的機會。非常難得的機會。不考研的話,這種機會就是一種奢侈,可望而不可即的那麼一種奢侈。同時,不管你是哪一種情況,都不建議考軟件學院。除非你是女生,把能夠成爲一個研究生當着一生最大滿足的那種女生。

3. 讀計算機研究生投入與產出分析 

  1)機會成本。這是個經濟學問題。讀研的機會成本的確是很高。任何人都可以簡單地計算出來。所以,我也不贊成所有的人都去讀研。讀研只適合那些痛感數學在編程中的極端重要性的人。如果對理論工具和理論思維的極端重要性沒有切膚的認識,那麼讀研的價值幾乎爲0;讀研的好處在於:A,把你自己放在一個學術和工程的交叉點上;B,讓你具備了進入微軟等世界頂級軟件研發機構的可能性;記住只是可能性。但是不讀研這種可能性爲0;C,如前所述,如果沒有讀研的機會,你也就沒有靜下心來好好鑽研幾年理論的機會;一邊工作拿高薪,一邊深入地學習各種理論,諸位認爲這可能嗎?我反正認爲不可能,我覺得學習鑽研理論最需要的就是一個長期安靜獨處的環境,一邊工作一邊讀書是不可能有這樣的環境的,你會覺得每天都在疲於奔命。而讀研正好可以提供這樣一個環境。我同時還反對整天跟着導師的屁股後面跑,這樣會浪費很多時間。讀計算機的研究生,主要依靠自己去查閱最新文獻,自己去研讀文獻,和導師的口頭交流一個月一次就足夠了,前提還需要導師的水平足夠牛。如果導師的水平不牛,這也沒關係,不理他就是了,自己做好自己的事情即可。


  2)教學質量。就如網上一個人說,全國都是“洪桐縣中無好人”,尤其在計算科學領域,大牛極少。那爲什麼還要去讀研?大哉問!把讀研的收穫寄託在名校或名師的名我認爲氣上,是註定要失敗的。讀研全靠自學,研究生之間的差距全部體現在自學能力上面。又有人問,既然是自學,爲什麼非要讀研?回答是:因爲讀研就是爲你買一份保險,就是買一份你自學三年之後不會失業的保險。這份保險主要是一種心理上的後盾,讓你在自學過程中經得起誘惑,能夠從容鎮定地去追尋計算機理論發展的堅實足跡,從歐拉,費馬,高斯,康託,圖靈等巨匠那裏尋找方法論的珠寶。倘若沒有這份保證,你在家裏面自學3個月,保證你會被失業的壓力壓得喘不過氣來,何談安心學習?


  3)理論與實踐。這沒有定論,如前所述,管理信息系統,設備驅動開發,工具軟件開發,軟件病毒剖析等等這些工作不太需要創造性,需要的是耐心和經驗,需要的是對既有規範的準確理解,這類開發工作最適合在實戰中提高,理論學習沒什麼作用。但是在人工智能,模式識別,圖像壓縮,虛擬現實,巨量數據檢索,自然語言理解,計算機圖形學等等領域,理論學習就佔據着絕對的統治地位!這些領域的突破對人類的生活的影響是極其巨大而深刻的。某些領域處於一個極其快速發展的態勢之中,比如計算機圖形學,相信諸君能夠從衆多3D遊戲的燦爛輝煌中體認到我的這種說法。在這些領域,如果沒有紮實的理論功底,一切都是那麼遙遠,不管你花了多少時間在編程上面。


  4)知識結構。首先聲明,我不是一個純粹理論激進分子,即認爲除了理論之外,一切都不重要。我認爲,純熟的編程技能是最基本但也是最必不可少的技能。沒有這個基礎,一切計算機理論就是空談(研究圖靈可計算性理論的研究者除外)。有了這個基礎之後,一些基本理論學習方向必須重點突破。

4.讀計算機研究生應具備的理論素養


  1)科學哲學。這是核心中的核心!可惜國內不開這門課。不但不開課,而且還作爲批判對象來引用,實在是遺憾至極!這是一門教你如何“釣魚”的學科,在一切科學研究中居於最核心的地位。它是古今科研方法和思維方法的集大成者,很難想象一個成熟的研究者沒有一套自己的方法論體系。科學哲學最需要的是領會與總結,它的思想與啓示會伴隨我們的一生。


  2)康託集合論,矩陣方法,離散結構,圖論方法,羣論方法之間的緊密關係。最重要的認識這些理論對實踐的重要啓示和方法引導。我始終認爲,如果你學了一門理論之後,卻不知道這門理論有什麼作用,那麼你的理論就白學了,你什麼東西都沒有撈着。所以,學習任何理論之前,先問自己:它有什麼用?在哪裏用?如何用?帶着這些問題去學習理論,你纔會真正地學到東西。用這三個問題去問你的理論課老師,他的回答就是判斷其實際水平的最佳標準。


  3)思維要有極強的穿透力,學會看透文獻作者沒有寫出來的動機。絕大部分大師都有隱瞞自己最具有方法論啓示意義的思考環節的習慣。牛頓和華羅庚先生都有這個壞習慣。這讓大家認爲他們是天才,因爲很多問題他想到了,我們想不到。但是爲什麼他們能想到,我們想不到?他們是怎樣想到的?沒有人告訴我們牛頓發現萬有引力定律時的思考過程,當然,牛頓可以慷慨地把他的思考結果告訴我們,但是,他那可以點石成金的“金手指”卻沒有教給我們。我們的任務就是要培養透過文章看穿作者背後意圖和動機的能力,在這方面,臺灣的侯捷和美國的Donbox是絕佳典範。這兩隻老狐狸(呵呵,是愛稱)憑着其獵犬一般的嗅覺,抽絲剝繭,一個把COM背後的幕後設計動機揭開並暴露到了光天化日之下,另一個把MFC的宏觀架構做了一次完美的外科手術。其非凡的思維穿透力令人驚歎。


  最後,英語這個狐狸精。英語本身不重要,但是用英語寫成的文獻就極其重要了。所以,專門把英語作爲一個重頭戲列出來。大家不要相信英語無用論的鬼話。對於搞計算機的而言,英語就是你的母語!英語是科學家的工作語言,就如普通話是教師的工作語言一樣,一個不會普通話的老師,一定是最早該下課的老師,一個講着方言的人,一定是沒有什麼文化含量的人,一個到處是方言的學校,一定是三流或者三流一下,甚至是Y學校,一個只講方言的寢室要麼是不團結,要麼是地方學校,要麼都是一羣沒有眼光的人,沒有什麼出息。


  其它的具體理論還有很多,但是都不如這幾個個方面重要,因爲我覺得這幾個個方面是最具有根本性,全局性的能力培養環節。需要指出的是,很多高深理論對你的工作是無意義的,當心時間陷進去。一定要把效率最高的時間段用在最具有決定性意義的理論學習上。關於讀研之後的出路是否光明的問題。我們應該承認,讀研之後,你的工作機會不是變多了,而是變少了。而且越是高手,他的工作機會和工作範圍就越少。這是因爲,越是搞前沿研發的公司,其數量越少,在這個圈子的人也就越少。你找工作的範圍就越小,試問:如果微軟的OS設計專家出來找工作,能夠讓他選擇的公司能有幾家?但是,這種公司數量的減少是以工資待遇的急劇上升爲補償的,同時,你在工作中所受到的充分尊重也是在一般公司中體會不到的。所以不要擔心學了高科技用不上,呵呵,你只會越來越感覺自己學的不夠用。既然選擇了理論深入,那麼就應該把眼光放得更遠。

------------------------------------------------------------------------------------------------------------------

      本人劉凱,微軟中國研發集團亞洲工程院Program Manager 2008新員工。當我在碩士畢業之際回顧求職道路時,感想竟然和兩年前本科畢業時回顧保研之路有許多的相似:


發佈了72 篇原創文章 · 獲贊 14 · 訪問量 89萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章