Posted on 2009-10-18 23:38
Prayer 閱讀(443)
評論(1) 編輯 收藏 引用 所屬分類:
日常技巧
如果你有實際開發工作經驗,感覺自己的水平和實力進入了一個高原期,迫切需要從理論上提高,那么計算機學院是唯一選擇。因為計算機學院才能讓你在理論上更上一層樓。軟件學院從教學計劃上就沒有把你往這方面帶。當然能不能更上一層樓最終還是完全取決于你自己。需要特別說明的是,工作經驗并不一定等于開發經驗,我見過很多工作2-3年的人,但是沒有一點開發經驗。
你說:“他們都有很強的開發能力,只是不太喜歡讀書,也只是希望混個學歷對今后在崗位上晉升有好處”,我可以向你保證,你所說的人絕對不是開發能力很強的人。因為,1)高手不可能不喜歡讀書;2)高手不可能想去混一個學歷;3)高手不可能認為晉升是因為學歷的原因。
還需要說明的是,考計算機的人未必個個都是高手,嚴格來說,大部分都不會編程序。也就是說,庸庸碌碌之輩仍然占絕大多數。研究生畢業的師兄只拿2500 元左右的比比皆是,所以不要寄希望于拿一張研究生文憑出去賺高薪。但是,對于有實際開發工作經驗的人,要想自己在3年之中有一個真正的提高的話,計算機學院提供了廣闊的平臺。就我所知,每一個月拿2萬以上的也有(上海育碧,圖形特效算法設計)。所以,同為研究生畢業,能力的差距是極大的。所以,不要去問 “研究生畢業能拿多少?”,要問“像我這種水平的人,研究生畢業能拿多少錢?”這樣人家才能夠準確地回答你。
所謂“有實際開發工作經驗”是指你目前已經具備下列能力:1)你已經認為C++和匯編語言都是很簡單的語言,并能夠自如地運用;2)你能夠在30分鐘之內想到正確的五子棋 AI算法設計思路和方向;3)你完全理解STL為什么這么重要;4)你能夠獨立地解決所有的編譯與鏈接問題,哪怕你從來沒有遇到的問題,你也不需要詢問任何人;5)英文網站是你的首要信息來源;6)能夠讀懂英語寫成的國際標準,比如NTFS磁盤格式標準。7)你經常站在集合論的角度思考算法問題;8)能夠理解一個簡單的驅動程序,能夠理解一個簡單3D交互程序;9)你能夠認識到線性代數和概率論在實際編程工作中的極端重要性;10)你完全理解COM的設計思想,尤其能夠理解COM為什么要設計成這樣;11)當我說到虛函數的重要作用時,你不會急著去找書來翻;12)你能夠說出C++為什么比其他語言優秀的理由,記住這種理由應該來自于你的開發體會,而不是因為其他人都這么說。此外還有很多判斷標準,但如果你同時具備5條以上,可以認為你已經具備相應的開發經驗了。在這種狀態下讀研,你將取得讀研效益的最大值。
讀研最重要的是要明白你自己要干什么,不能等導師來告訴你你應該干什么。研究生的優勢在于理論功底深厚,思維具有穿透力,當然編程能力首先要過關,不要讀完研究生還不知道MFC程序的WinMain函數在哪里。所以,研究生期間,你一定要做有理論深度的算法設計,比如大規模數據的搜索算法,性能是首要考慮因素,不要奢望SQL函數能夠幫你解決問題,所有的問題你都必須自己解決,你必須解決內外存交換的性能瓶頸。再比如極品飛車的3D場景生成,圖形變換,碰撞檢測,物性模擬,紋理映射,燈光模型等等,這些都是可以保證你能拿到 2萬以上月薪的技術。如果你認為這些東西太難,不可能做得出來的話,那么你就不適合讀研。真的,要是你認為讀研之后還是要去搞一般的程序設計,如信息管理系統之類的軟件,那么你讀研的價值就完全不會得到體現,因為這些工作根本就不需要讀研。