題記:當你準備GRE孤苦難熬的時候,當你刷GPA痛不欲生的時候,當你搞申請手足無措的時候,請想想,四大神校在等你,百萬年薪在等你……!
如何一步步走上人生巔峰,關鍵在于被很多所忽略的背景提升!很多同學申請留學有誤區(qū),以為申請就是靠各項考試分數(shù)刷刷刷……如果真的是這樣,招生官為什么煞費苦心的要求你寫簡歷、個人陳述以及三封推薦信呢?好多中國學生覺得做背景提升沒啥用,那是因為每個人都不知從何做起,白忙了一通卻毫無收獲,根本沒有真正的做出什么背景提升,以至于讓美國的招生官也慢慢認為中國學生就是沒有背景,只有分數(shù)??雌饋砗茉闶遣皇?其實不是,在這種情況下,如果你有與眾不同、鶴立雞群的背景,你的申請通過率會大大的提高!
計算機專業(yè)的學生準備留學,往往會更加迷茫,別問我為什么!因為我本人申請的時候就是這樣的迷茫啊!科研項目到底該怎么著手去做?!我要怎樣才能發(fā)表論文啊。。。?!我到底去找怎樣的實習才好??我是否應該鍛煉編程能力呢。。。?
總結(jié)一下就是,我不知道如何去做背景提升。
而事實上,這個邏輯很簡單,如果你知道出國留學后是什么樣的,無論你讀PHD還是MS,也無論你到哪個學校上學,你將來的工作都是——寫代碼。世界上的工作沒有區(qū)別,區(qū)別只是在哪里寫代碼。公司招人的時候都是要招代碼健將,學校錄取你的時候,也是希望你能找到好工作,所以也會考量你的編程能力。
你也許會說,我有個學姐都不會編程,還是去美國上學了呀,是的沒錯,但你的師姐不會告訴你,不會編程在美國學CS是多么的痛苦啊!!學完之后找工作又是多么的痛苦啊!!找工作時候那慘況就是,兩眼一抹黑啊!想留美?難上加難!那回國吧?其實你也沒有啥優(yōu)勢。
所以,我希望你在大學壓力不大的時候,眼光放得遠一些,多看一步,不僅要看到一些留學offer,更要看到留學之后你做什么。那么,你需要做的所有背景提升,都要圍繞之后的最終目的來進行,那就是,寫代碼。問題在于:
1. 你需要找到一個快速鍛煉編程能力的辦法,并且可以較為輕松的堅持下去,因為你的時間很有限,還要做科研,刷GPA, GRE, 托福。
2. 你需要知道學習哪些技術,才能在未來3-5年內(nèi)一展才華。(因為國內(nèi)的教育體系相對落后,與社會實際脫節(jié),且并不能因材施教,不能去發(fā)掘你個人真正的潛能,所以你也根本無法學到什么前沿的實際技術。)
3. 你需要知道做什么樣的項目,參加什么樣的實習、科研項目,才能獲得美國招生官的青睞,助你拿到名校offer。
那么本文,將逐一回答上面三個另你迷茫的問題。
第一:快速鍛煉編程能力的辦法
根據(jù)這兩年我在公司的鍛煉以及自己做項目的體驗,綜合之前六年的求學之路,歸納一個精華版:
A. 熟練掌握一門General的編程語言,我推薦Java或者Python,這是入門最快,名企需求也最高的語言。你可以看視頻教學,也可以看《如何21天變成XX大?!愤@樣的書起步,但你必須吃透經(jīng)典讀物,例如《JAVA編程思想》。這個階段,從零開始,需要1-3個月。
B. 打牢數(shù)據(jù)結(jié)構(gòu)與算法的理論知識。市面上有太多的書籍,這個階段,需要3-6個月,但是可以與第一階段同時進行。
C. 操練ACM題目,將語言與數(shù)據(jù)結(jié)構(gòu)、算法融匯貫通。通常來講,做50-100道題目就有不錯的水平,大概是一個寒假的時間。
踏實的走完這三步,至少需要半年的時間,從零開始,但已經(jīng)是最快的方法了,所以,你越早開始越好。
第二:你需要學習哪些技術
你必須掌握應用層面的技術,例如網(wǎng)站開發(fā),APP開發(fā)。在美國的校園里,你會看到教授帶領著學生開發(fā)很多實用的APP,而中國的計算機課程卻充斥著大量模電、數(shù)電等與編程毫無關系的課程,甚至連JAVA課都是在紙上寫代碼。但是你盡量學先進的技術,不要學陳舊的技術。比如網(wǎng)站開發(fā)你最好學Nodejs這種雖然小眾但是領先的技術,也好過學PHP這種極其大眾但是已經(jīng)十幾年了的技術。還有有很多實戰(zhàn)技術值得學習,比如數(shù)據(jù)庫,數(shù)據(jù)挖掘,人機交互等等,都會讓你在美國的求學道路受益匪淺。
其次你最好能掌握一些尖端的理論基礎與技術,例如人工智能相關的具體技術,可以用機器學習探測用戶的某方面喜好,或者可以提取一些游戲的特征。如果你要申請PHD,這既是積累科研論文的好選擇,也是鍛煉綜合編程能力的好選擇,更是為你日后拿到年薪20萬美金的offer打下堅實的基礎。
第三:什么樣的項目可以幫你獲得名校offer
說了那么多基礎性的東西,談職業(yè)發(fā)展,好像跟眼前的申請沒有什么關系,好吧,那我們現(xiàn)在來說說眼前的申請。
首先你需要建立一個個人編程檔案,比如github賬號,或者個人網(wǎng)站,讓教授可以查詢你做過項目的代碼量,這是考察的一個重要指標。
如果你成功的走過前兩關,有七種方式可以讓你提升自己的背景:
A. Independent Project 你可以把任意新奇的想法變成一個可視化的項目,最簡單的方式就是Web?;蛘咦约簩懸恍╊H為復雜的算法,實現(xiàn)某種結(jié)果,并寫一個分析文檔。
B. 找到你感興趣的領域的學校教授,然后大膽提出去實驗室?guī)兔?,這會是你簡歷的RA(research assistant助研)的寶貴經(jīng)歷,但一定要注意自己可以主要負責一些東西,避免打醬油浪費時間。
C. 把你的課設完美的做好,并且使用一些先進的技術,最好可以獲得一個高分作為證明,然后包裝到個人編程檔案里,一定要包裝,讓1-2個星期完成的課程設計看上去像一個浩大的工程。
D. 找一些創(chuàng)業(yè)公司做技術實習生,現(xiàn)在中關村有那么多只差一個程序員的創(chuàng)業(yè)團隊,只要你可以做網(wǎng)站,就有機會全權(quán)負責技術,不管創(chuàng)業(yè)公司以后是生是死,但你做的東西都變成了自己的編程積累。
E. 在大三的時候,申請暑假實習,目標就是知名公司,例如BAT(阿里巴巴,百度,騰訊),或者一些研究機構(gòu),例如微軟研究院,你也可以直接給高校研究所發(fā)郵件,聲明自己想去學習,但怎么申請需要稍微琢磨一番。這會是無需多言,非常有說服力的證明。
F. 參加一些以編程為主的比賽,例如數(shù)學建模,ACM,各種編程挑戰(zhàn)賽,國際知名的比賽取得不錯的成績會讓你直接拿到offer,即便是不知名的比賽,只要名次高,參加人數(shù)多,說出來也可能嚇招生官一跳。
G. 如果你有海外關系,比如說認識我,可以幫你聯(lián)系到海外公司的實習,最好是硅谷高科技公司的實習,你會具備強勁的競爭力,因為你的能力已經(jīng)初步得到了美國市場的認可,學校招你來不用擔心你的就業(yè)問題,自然會增加招收你的概率,同時說明你獲得的教育跟美國教育是十分契合的,校方不用擔心你完不成課業(yè)。
總結(jié)一下,就是你必須編程,這是毫無疑問的,雖然有的學校會錄取完全不會編程的學生,甚至有的公司也不要求你會編程,但你總想給自己多留一個選擇,更好的提升自己的競爭力。在刷GPA的同時,在自己的編程檔案中積累足夠數(shù)量的項目,通常來講是3-5個,一定會讓你脫引而出。
最后如果你問,如果只找到10萬美金的工作怎么辦啊?笨,再找一個10萬美金的女朋友啊!