我是一隻IT小小鳥

作者序

20093月的某個晚上,我跟侯磊同學在萬柳宿舍臥談。我們聊起初來北大軟件學院時的志向與苦悶,我們梳理影響自己的人和事,說各自的實習感受和找工作的風風雨雨,說學校的教育制度和各個公司的文化。一夜痛快淋漓地說下來,我們不由總結出,要是研一或更早,有師兄師姐能夠這麼提醒我們,這一路我們可能就會走得更從容、更自覺。

現在我們都成師兄師姐了,或許我們能夠在畢業之前把這些經驗教訓留下,以期給師弟師妹們一些借鑑與幫助。我聯繫上博文視點的周筠老師(查看Gtalk記錄,是316),說我想召集些身邊的計算機背景的應屆生朋友,在畢業之前,講講自己求學、實習、找工作等的經歷與感悟,對本身也是一個"立此存照"和反思自己的好機會。

接下來就是跟周老師還有許瑩等編輯朋友的面對面交流,然後與各位編輯一道,去向身邊的朋友、向朋友的朋友約稿。爲了體現IT從業人員的層次,出版方還特意邀請了幾位有工作經驗的朋友加入作者羣,他們對IT產業與職場的認識,能夠豐富我們的視野。

關於這本書的成書過程,有一些事情要說明。我忝列主編之名,其實不過是作爲作者羣體與出版方之間的聯絡人,對本書的貢獻寥寥,自然不敢貪功。我最先聯繫的作者是侯磊與唐雅薇,之後大多數在北京的應屆生作者,都由他們聯繫;而北京之外的應屆生作者,以及幾位有工作經驗的朋友,都是由出版方邀請過來的。各位作者貢獻初稿後,接下來的編輯統籌工作,也多由出版方的周筠老師、許瑩編輯、夏青編輯、白愛萍編輯完成。我們各自零亂的文字,到現在終於集結成書,除了要感謝上面提到的各位編輯老師辛勤有效的工作,還需要提到的是《編程之美--微軟技術面試心得》的兩位作者:鄒欣老師,他一直關心本書的進度,並提出不少中肯的建議;劉鐵鋒,本來也在本書邀請的作者之列,後由於個人原因撤稿,但他積極參與了本書的前期準備工作--跟侯磊一樣,雖然書中沒能見到他們的文字,但他們於幕後爲本書做的不少工作是應該被提及並感謝的。

人所處的人生階段不同,立場或視角就不一樣。現在我們都已畢業,再要回顧自己的求學歷程,可能會用三言兩語就把它打發掉,但這些畢業之前的文字,寫的都是自己作爲學生感興趣的東西,是自己作爲學生認爲重要的東西。這種體驗很難再現--所幸我們留下的文字不是事後的點評,而是親歷現場的記錄。這個集子裏記錄下的,是我們大學生活所不能繞過的東西:

專業/技術方向選擇

社團活動

競賽

實驗室

實習

找工作

出國

技術社區

人際交往

時間管理

壓力管理

我們具有各自的獨特性--我們興趣各異,有不同的家庭背景,不同的知識儲備,不同的思維方式……但在現實中,我們也會碰到類似的人生選擇的關口,我們會犯類似的錯誤,有類似的迷惘,也會爲類似的精彩鼓掌,而且很明顯的,我們是類似的一羣人--都跟IT沾邊。

因此對每個作者而言,這本書既寫給自己,也寫給所有有類似經歷的師弟師妹們。

 

胡江堂

20098月於北京

 

作者簡介

蔣宇東 現就職於上海某公司(C++程序員)博客:http://blog.csdn.net/NewNebuladream

居振樑 現待業,夯實基本功 博客:http://wargrey.yo2.cn

劉帥   現就職於AmazonSDE-Test)博客:http://lsthu.spaces.live.com/

李成   現就職於北京飛維美地信息技術有限公司(軟件工程師)博客:http://www.perlfect.org

溫衛斌 現就職於中國農業銀行軟件開發中心 博客:http://terry-pekingssm.spaces.live.com

胡江堂 現就職於賽諾菲巴斯德(SAS程序員)博客:http://li-and-jiang.com/blog/

辜新星 現就職於Google(助理產品經理)博客:http://guxinxing.blogbus.com/

劉未鵬 現就職於微軟亞洲研究院(程序員)博客:http://mindhacks.cn

唐雅薇 現就職於IBM中國研發中心(上海)博客:http://cubbyvivi.blogbus.com/

張弦   現就職於百度(軟件工程師)博客:http://stonefish9.blogbus.com/

秦琴   現就職於中國銀行 博客:http://clalietsin.spaces.live.com/

張凱峯 現就職於IBM中國軟件開發中心(軟件工程師)博客:http://www.zhangkf.com

莊表偉 博客:http://www.zhuangbiaowei.cn

宋勁杉 現就職於北京亞嵌教育研究中心(講師)博客:http://songjinshan.is-programmer.com

程露   博客:http://roburite.spaces.live.com/

黃小明 現就職於某外資企業(軟件開發及項目管理)博客:http://blog.csdn.net/view1024

易曉東 現就職於某電子商務網站(運營負責人)博客:http://www.tomcat521.com

簡朝陽 現就職於阿里巴巴(MySQL & Oracle DBA)博客:http://www.jianzhaoyang.com

林健   現於中國科學院計算技術研究所就讀(碩博連讀)博客:http://blog.linjian.org

高昂   現於中科院地理所攻讀博士學位 博客:http://www.gaoang.com/

徐宥   現於Washington University 就讀(博士)博客:http://blog.youxu.info

 

推薦序I

2006年開始,我在微軟亞洲研究院參與了實習生培訓、新員工招聘與培訓等工作;也走訪了十多所大學的計算機系和軟件學院,還在幾個學校講授《軟件工程》這門課。在此期間,有幸結識了不少有想法的大學生朋友。他們中的一些人,就是這本書的作者。

中國的高等教育體系中,大約有10%的學生在學習與IT相關的專業(計算機科學、軟件、MIS等)。這些學生在接受了46年左右的教育之後,對這個教育系統有些什麼反饋呢?IT教育迫切要改變的做法是什麼?根據我個人的經驗和同學們的反饋,下面是一些建議:

和實踐結合。軟件教育離不開實踐,不要太強調閉卷考試,老師一定要讓學生實踐、實習。

做真實的項目和幻想的項目是有很大區別的。

自己從頭寫程序和維護正在使用中的代碼是有很大區別的。

沒有真實的需求,沒有軟件的增量開發,沒有真實的團隊合作,程序設計和軟件工程中的大部分理論都淪爲空談。遺憾的是,很多學生就這樣以空對空,也混畢業了。

和各種學科的結合。現在專業分得太細,一個專業清一色背景的學生在一起,和其他年級、其他專業的同學有交流麼?沒有!

希望計算機科學教育能把別的學科的知識聯繫起來,比如,和工業設計、用戶體驗設計、藝術設計、自動控制,甚至心理學、商學聯繫起來;

希望把計算機有趣的發展歷史放進來,講講圖靈,講講馮o諾依曼,講講各種語言的源頭和流派分支,講講IT企業有趣的真實故事等等。培養學生對這個行業的興趣、熱情和敏感度。提倡互動,介紹同學上相關的論壇、網站,開拓視野。

如何教創新?在學校裏聽領導的報告,會聽到很多次和"創新"相關的詞彙。你會覺得這個學校的領導的確非常想創新。但是另一方面,我聽到一些同學反映教材、教案、教學方法都是幾年甚至十多年不變的老一套,和實際脫節得厲害。

怎麼教創新?除了讓學生打下堅實的專業基礎之外,學校可以做的一件事就是--

允許學生試驗,失敗,再試驗,再失敗。

創新不是公式推導,不是一旦學好例題,就能模仿炮製的解題方法,要給同學們試驗和失敗的機會。有人問,學生失敗了,上課怎麼給分呢?我說,如果同學們能夠認真總結經驗教訓。同樣也可以得到比較好的分數。經驗教訓能幫助他們更好地創新。我的《軟件工程》課程的評分標準大致是:

1.有創新的想法,併成功實現:優。

2.有創新的想法,失敗了,能認真總結:優。

3.無創新的想法,最多隻能得:良好。

當學校和老師鼓勵同學們沒有後顧之憂地去創新、去失敗的時候,很多同學的動力、熱情會大大增加,從"要我學""要我做"變成"我要學""我要做"。無論創新成敗與否,同學們都會收穫良多。

作爲一個"業界人士",我講了這麼多意見和建議,其實很多老師、學校領導也早就意識到了這些和其他許多問題。提意見總是容易的,難的是儘自己的能力改變現實。這本書裏的很多主人公並沒有停留在提意見或埋怨,而是自己行動起來,改變現狀。作爲一個"客座講師",我正在課程中實踐我上面提到的想法,有學生喜歡,也有學生不爽--因爲課不好混了。

書中的許多故事常常讓我幻想--如果我們的教育系統能多幫助他們一下,也許會有更多的學生能少走彎路,成爲IT業快樂的小小鳥,甚至大鵬鳥!

希望更多學生、老師在看到這本書之後,能一起動手,讓夢想早日成爲現實。

 

鄒欣

研發經理 | 微軟亞洲研究院技術創新中心

20098月於北京

============================================================

 

推薦序II

博文視點計劃出版一本講述IT人成長經歷的書--《我是一隻IT小小鳥》,邀請了20多名IT行業在職人員、研究生和本科生寫一下自己的成長經歷。一滴水中見世界,從這些作者的親身經歷和人生感悟中,可以看到中國IT業的進步,以及在飽受國人責罵中艱難前行的中國IT教育。

在此,我向中國數百萬在校IT相關專業學子推薦此書。

我也算是一隻"IT小小鳥"了。1993年我從廣西大學本科畢業,機緣巧合下從1994年開始自學計算機,並跳槽到IT公司工作,於1999年考入北京理工大學計算機學院讀研。期間四處打工,畢業後留校在計算機學院任教至今,十多年了,始終沒有脫離IT這個圈子。因此,書中各位作者的成長經歷引起我的很多共鳴。

我一直在關注和思索國內軟件技術的應用推廣及IT人才的培養問題。2003年,我在CSDN"程序人生"論壇發表了一篇長長的自傳--《一個普通IT人的十年回顧》,全面回顧與總結了自己這段人生經歷,集中表述我對這一問題的思考,引起了許多學生和IT行業在職人士的強烈共鳴和激烈反響。此文在網絡上被四處轉貼,甚至被轉貼到海外的華人論壇,而我個人也收到近千封郵件。2006年下半年,因自己在計算機軟件教學實踐中受挫,於是在個人博客上發表《我被中國計算機教育的現實打敗了》一文,出乎意料,這篇其實不過是發牢騷的文章竟也引發了一場激烈的論戰,一場有關計算機學習與計算機教育方式的論戰--"理論先行"還是"實踐第一"。足見大家對這些問題的關注程度。

我曾經是一名"四處打工"的程序員,先後在十多家軟件企業"露過面""幹過活",畢業後又當了七年計算機專業的教師,接觸了大量的本科生和研究生,在思索與實踐的過程中,漸漸對一些問題有了更深入的認識,而我的一些觀點,在本書所選取的這些"IT小小鳥"的成長經歷中也得到了驗證,我把其中一些要點"過濾"出來,希望能對本書讀者,尤其是那些還在校學習的大學生們有所幫助。

1. 興趣是第一原則。

如果你仔細閱讀本書所有文章,一定會發現一個特點:幾乎所有作者都對計算機技術或IT行業有興趣。這種強烈的興趣,是他們持續努力並最終成長爲優秀IT人才的強大推動力。然而很不幸,對於剛進大學且對所學專業並不瞭解的學生,偏僵化和脫離實際的中國高等教育體制,恰恰在"扼殺"學生對本專業興趣的方面"效率極高"

在此,我鼓勵所有在校大學生,一定要嘗試發現你的興趣所在、特長所在,然後圍繞這些來確定發展方向,不要盲目從衆和跟風。

另一個在學生中很常見的問題是:"我不知道我的特長在哪裏,我也不知道幹哪個工作最有可能出成績。"其實大學就是讓你思索和解決這個問題的最佳場所之一,你可以放心大膽地進行各種嘗試,在實踐中逐漸瞭解自己。另外,嘗試從另一個角度思考問題:"我不知道喜歡幹什麼工作,那我知不知道不喜歡幹什麼工作?",去掉你不喜歡的,是不是就接近了你所喜歡的?

讀者不妨仔細分析一下,書中這些IT人最初是如何形成對IT的興趣的,相信一定會有所啓發。

2. 他山之石,可以攻玉,但不可照搬。

本書介紹了許多人的成長經歷,對讀者而言,的確是"他山之石,可以攻玉"。但另一方面,沒有一個人的經歷是可以複製的,因爲環境不同,時代不同。更重要的是每個人都是獨一無二的,而且世上萬物時時刻刻都在變化當中。對於青年學生而言,不要看到書中某人做某件事有較大收穫,然後你也想來個原樣照搬。要仔細分析作者的個性、擁有的獨特經歷,再結合他當時所處的環境,弄明白他當時爲何會做出某個決定。

寫到這裏,我不禁聯想到中學語文課本中收錄的名篇--《庖丁解牛》中庖丁所說的話:臣之所好者,道也;進乎技矣。

大道無術,其實成功的基本原則是相對穩定的,而走向成功的具體方法則因人因時因地而異。重讀《庖丁解牛》,再看看書中各位作者的人生經歷,是挺有意思的一件事。

3. 軟件技術的學習方法。

前面談到2006年我在CSDN引發的針對軟件技術學習是"理論先行"還是"實踐第一"的論戰。其實大家只要看看書中諸位作者的成長經歷,能找到幾位是"理論先行"的?大多是"實踐先行",然後在實戰之後,再開始補上"理論"這一基礎。

對於在校學生,我建議在本科低年級(大一或大二)就要開始瞭解一種主流的軟件開發與運行平臺,熟練掌握一種開發工具,這樣你就具備了進行開發實踐的前提。然後,用你所掌握的技能和工具去大量實踐,在實踐中真正地理解和掌握計算機科學相關理論,發現自己在知識和技能上的不足,然後有意識地加以彌補。更重要的,要在實踐中找到一種"感覺"、一個"方向"。讀者不妨分析書中各位作者在這點上是如何做的,相信會有啓發。

近年來,軟件技術在飛速發展,許多技術領域都已發展出一個龐大而複雜的體系,在技術背後,需要大量計算機科學理論作爲根基和靈魂。在這種時代背景下,"如何高效地學習軟件技術"成了一個需要嚴肅對待和認真思考的問題。

就軟件技術而言,我所看到的是一張龐大的"知識之網",其結構類似於互聯網中相互鏈接的網頁,各種知識和技術之間都有直接或間接的聯繫。而任何一個人,窮其一生之力,恐怕也只能掌握這張"大網"中的一小塊區域。

對個人而言,面對客觀存在的"軟件技術大網",大腦中要形成一個"小網"--一個活生生的、可動態擴充的"知識之網"。這個小網是大網的映射,但不是機械的映射,而是建立在個人能動性基礎之上的動態的"知識之網"。能否形成這一知識之網,對學習軟件技術至關重要。

這張"知識小網"上的"節點",就是你掌握的"已經建立了彼此聯繫"的具體知識。在學習新知識、培養新技能時,只要能找到新舊知識的結合點,就可以讓新知識成爲新節點,從而擴充你的"知識之網"

軟件學習的過程,就是你"織網"的過程。如果在學習過程中未能織成這一知識之網,你學到的就只是零散的、沒多少用的知識,這種知識學再多意義也不大。

我建議讀者仔細看一下書中作者是如何"編織"自己的"知識之網"的,這對讀者構造有個人特色的知識之網是有幫助的。

4.名校效應。

書中作者大多出身"名門",有北大、清華、南大、華工等國內知名院校。一般而言,由於要擠進"名校"大門不易,能進入這裏的人大多已經具有相當的潛力,加上名校一般都具有獨特的學習和科研氛圍,其中的老師和同學大都滿懷理想,積極進取,在這種環境中學習,人就容易成才。

然而,中國優質的教學資源並不多,而且高度集中於少數幾個大城市,大多數學生無緣進入名校,這是客觀事實。

我的本科學業是在一所普通大學完成的,而研究生學業則在北理工這樣一所重點大學完成。後來又接觸了一些北京其他重點高校的老師和學生。的確,重點大學與普通高校在學習氛圍和總體環境上

是有差異的,我也曾對此大爲感慨,但我也要指出,儘管"名校效應"的確存在,但最終起決定作用的還是你自己!

身處"不入流"的普通高校,只有大專或中專學歷、走自考之路或是非科班出身……這些外在的不利條件都不是決定性的。一個有志氣的人,總能在環境的束縛中,通過默默積聚實力,最終突破環境的限制,登上一個新臺階。

也許你付出了很大努力,仍發現由於起點和機遇的不同,有的人遠遠地領先於你,而你看上去"永遠"也無法追上他,達到他的高度。即使這樣,也不要氣餒,你只要盡力,也就無愧於心了。

我一直非常欣賞這樣一段話:

人生如同打牌,能抓到一手好牌固然是運氣好,但重要的是,你不能靠運氣生活,而要琢磨怎樣把手上這把看上去"不怎麼樣"的牌打好。

事實上,你可以從歷史中找到無數例子,這些一開始並沒有抓到好牌的人最終卻取得很大的成就,做出了重大貢獻。

很多時候,個人所處的生存和發展環境不能自主選擇,由於環境的限制和其他因素的影響,也許別人可以當個架構設計師,而你只能當個"底層"的普通程序員,這沒有關係,大家在人格上都是平等的,只不過能力有高低罷了。再普通的工作,如果能做到精益求精,也很了不起,也是一種成功,關鍵是你有沒有這樣一種思想:

即使我"落魄"到在街邊擺攤賣豆漿,也要努力成爲這條街上"最好""豆漿攤"

最後,引用莊子《逍遙遊》中那飛揚的文字作爲本文結尾:

北冥有魚,其名爲鯤。鯤之大,不知其幾千裏也。化而爲鳥,其名爲鵬。鵬之背,不知其幾千裏也。怒而飛,其翼若垂天之雲。

……

鵬之徙於南冥也,水擊三千里,摶扶搖而上者九萬里,去以六月息者也。

希望書中這些"IT小小鳥",最終都能成長爲"遨遊於九天之上""鯤鵬"

也希望所有的讀者,都能從書中受益,邁出人生向上的步伐!

金旭亮

北京理工大學計算機學院

20098月於北京

 =============================================================

一、蔣宇東 夢斷計院,

我和我最後的倔強

握緊雙手絕對不放

下一站是不是天堂

就算失望不能絕望

--五月天《倔強》

引子:我的感悟,我的懺悔

我曾就讀的瀋陽航空工業學院的計算機科班(05級),屬於二本院校的一本專業。我的大部分同學都是高考重點大學的落榜生調劑而來,算是高考中的失敗者吧。畢業後去了上海一家IT創業公司。

沒有可以向人炫耀的面經,沒有華麗的背景,只有一點點學習的感悟,和幾分失敗的懺悔,與大家分享。

上篇•夢斷計院

大學生活馬上就要結束了,不禁感嘆時光飛逝,物是人非……

剛踏入大學校門的時候,躊躇滿志,雖然那時甚至不知道C語言是什麼東西,但是仍然對自己四年後的形象充滿了無限的憧憬:擁有雄厚的基礎知識、良好的學術能力、出衆的技術才華,是未來的科學棟樑……

如今的現狀卻是:爲了得到一個可以餬口的IT民工職位抓破頭皮,在鬱悶與苦惱中爲獲得一個工作機會而暗自慶幸,至於什麼專心學術、什麼科學棟樑,似乎距離自己越來越遙遠。

直到此刻,我仍然不認爲自己的大學生活是完全墮落的,我也不認爲自己讀的書是無用的,我更不認爲自己沒有學習計算機科學的資質,那麼問題究竟出現在什麼地方?我想這裏有很多原因,大部分是自己的,但也絕對不能忽視環境對人的影響。

對環境的反思

1. 計院的第一大問題--學生普遍基礎薄弱

在我東奔西走找工作的時候,才真正體會到自己原來喜歡炫耀的基礎知識是多麼薄弱,而它們又是那麼重要。我曾經在面試時因爲說不清進程間的通信機制而當場被無情BS,也因爲對於自己能力的不自信而放棄一家很牛的公司的研發部提供的筆試機會。

先要說說我所在的計院的第一大問題--專心做學問的人太少了,學生普遍基礎薄弱。

本科四年,在這裏能看到的真正對計算機感興趣,並且肯專心研究搞學術的學生真是鳳毛麟角。計院的大環境是網遊成風,"腐敗"猖獗。沒有幾個人肯安下心來讀書,即使那幾個老老實實聽課的"好學生"也只不過是爲了一個高高的GPA,一個可以在家長同學面前顯擺的獎學金證書。而真正希望學東西、做學問的人太少了。我找工作時,手裏握着一摞獎學金證書,後來被證明絕對是廢紙,任憑你怎麼吹噓自己的成績,沒有哪個公司會真的拿來仔細看上一眼。

迴歸正題,什麼纔是真正的基礎紮實?我的理解是,不僅要牢牢掌握大學課本中關於計算機核心課程的理論知識,而且還要深入實踐;對於該方向非常重要的技術思想、概念名詞、技術要點都要有良好的把握,比如可以隨手寫出快速排序、哈希查找等經典的常用算法,熟記線程與進程的概念、它們的差別,並且能夠解釋清楚諸如殭屍進程之類的問題;會Linux的不僅僅是就會幾條Shell命令,或者乾脆就會裝個系統;用C++的不僅僅要會語法(不知道這是不是絕大多數計算機專業畢業生對於C++的理解程度),起碼要了解一些常用的標準庫,知道什麼是STL,瞭解些基本的OO思維方法;學過網絡的最起碼要用過Socket;瞭解數據庫的不能僅僅就會寫幾個SQL語句、背兩條範式等。

說到這裏不禁有點激動,前幾天在一個IT論壇上看到一個關於大學讀書無用論的帖子,說讀書無用的人恐怕這些基礎知識掌握得也不怎麼樣,連基礎的東西都沒弄明白怎麼好意思說自己讀過書?沒讀過書怎麼好意思說讀書沒用?!其實不是讀書無用,是肯安心讀書的人太少,而書讀得足夠多的人更少。

倘若沒有這些基礎,僅僅會用這個工具、那個框架,充其量也不過是個IT民工,今後的發展必定受到制約,選擇只有三條:a.做一輩子IT民工;b.將大學時欠下來的債補上;c.改行。

這裏我不想說太多,話歸正題。如果要我重新去選擇,我一定會在學習每一門課程的同時儘量找到相關的資料,擴展每一個話題。同時,將一些最常用的思想、技術、方法記錄下來,並且苦練到可以熟練應用的地步,並且時常加以回顧。

真正基礎雄厚的人應該是可以將常用的基礎性知識熟記成誦的人,提到一個基本的名詞或話題能夠將其來龍去脈解釋清楚的人。

2. 計院的第二大問題--學風不正,渙散成性

計院的學風不正,渙散成性,早已名聲在外。我想一方面要怪罪於我們學生自己,對前途不負責任,將大好的寶貴時光都用在了網遊、泡妞、喝酒等事情上;可另一方面,計院的領導及老師就真的沒責任了嗎?

如今的老師大都想着自己的小項目能賺多少錢,如今的領導多數考慮自己負責的這一塊不要出問題而影響到頭上的烏紗帽。"一切爲了學生",表面看起來冠冕堂皇,實則是句空話。老師根本沒時間或沒水平備課,上課照本宣科念幻燈片,考試之前爲了保證及格率不忘幫大家"劃劃範圍"

記得大學一年級的"計算機導論"課,一個老頭足足唸了一個學期的PPT,內容就是"C語言基礎、"數字邏輯""離散數學"課程的前1/3……內容巨枯燥,而且朗讀水平超級差勁。也難怪很多人從一開始就認爲進入計院如同進入火坑。大學四年學下來不知道計算機專業的學完了究竟能做什麼。

到了畢業時,領導開始擔心就業率了,早就內外成患,以渙散、頹廢爲風的計算機學院又豈能在短時間裏奮發起來?這個時候開始埋怨學生這個不是、那個不對,彷彿一切問題都是學生的,我想問問你們早幹什麼來的?之前有那麼多時間不好好調教你的學生,爲什麼這個時候纔想起來教育?

在這樣的學習環境下,除了主動自學,多多上網蒐集信息、泡圖書館,還能有什麼選擇呢?但話說回來我沒完全做到,最終問題還出在自己:不夠堅定,有時會隨着大環境一起墮落,浪費了很多時間。

3. 計院第三大問題--實踐環節薄弱,人才位置錯放

看着自己簡歷中可憐的實踐經驗,面對人才市場上實踐經驗黃金般的價格,自己不禁暗自悔恨……

很多人都在用理論紮實來搪塞自己實踐方面的低能,我想這個藉口根本站不住腳。首先,計算機這個學科的性質就決定了沒有實踐,理論幾乎沒法理解得紮實透徹。就好比熟記騎自行車要領的人可能根本不會騎車一樣。我們不排除有未來的圖靈、Knuth一類的大牛,即使不寫什麼重要的代碼,理論也是巨牛無比。但是對大多數學過數據結構與算法的人來說,能用C寫個Dijkstra 最短路算法就算不錯了,你要給他個什麼城市公交線路選擇問題,他保準暈菜,當場崩潰(這樣的例子我見多了)。

其實我們的同學中真的有些非常出色,只不過是放錯了位置,尤其是女生,我覺得大多數都不適合去編程。倘若不是在計院,可能他們已經憑藉着自己其他方面出色的能力在他們適合的領域嶄露頭角了。我不只聽到一個人抱怨自己不適合編程,當然一些人是純粹爲自己的渙散找藉口--這些人估計換個環境也還是那樣。

但是大一大二的時候,我們的老師、我們的領導又在幹啥呢?一些必要的引導總是你們的職責吧,幹嘛叫這些同學走過了大學四年才意識到自己不適合學計算機?

總之,種種因素所致,大多數同學四年沒編過幾行代碼,課程設計不過草草了事(據說某些老師甚至推薦同學去校外找人代做畢設),所以畢業時,之前做過的東西根本不敢往簡歷裏寫,因爲根本沒啥技術含量,都是Copy的。

對自身的反思

1. 項目反思

當我向面試官誇誇其談自己所謂有技術含量的項目經驗時,不住地冒虛汗,甚至還被一個考官當場揭穿並遭到無情BS。現在想想,更加悔恨不已……

我也曾經意識到實踐的問題,也曾經雄心勃勃地要寫有技術含量的代碼。大學裏我自己寫過兩個自認爲是比較有技術含量的項目。不過兩個項目皆因打不完的補丁、層出不窮的新Bug、臃腫而雜亂的代碼,導致自己對於繼續開發與維護失去信心與興趣,最終擱淺失敗。

究其原因,主要是自己太浮躁。這個問題在應屆畢業生人羣中及IT行業裏是普遍存在的。剛剛會編程就開始YY自己能寫出多牛逼的程序,做多牛逼的軟件。事實證明,任何牛逼的軟件都不是一下子就那麼牛逼的,必須要循序漸進地展開。當時,剛剛背熟了C++的語法,就萌生了要寫一個牛逼系統證明自己的想法。其實這個想法沒有錯,錯就錯在我們沒有進行必要的積累,而且缺乏對於系統模塊逐步開發並測試的耐心。在網上下載了點別人的設計經驗,自己就開始照貓畫虎地寫代碼。其結果可想而知,調試了n久代碼才能勉強地運行,而且極其不穩定。整個項目亂成一團,打一個補丁又出兩個Bug那種。

這個時候其實應該吸取經驗,對代碼進行重寫,對系統進行改進,甚至有必要重新設計。而我又開始浮躁了,覺得這個算不了什麼,吸取教訓,再寫個更有技術含量的牛逼程序一定成功。於是竟然無厘頭地放棄了那一堆研究了將近一個月的代碼,開始了新的項目設計。這個項目的結果更加可笑,我最終甚至都沒有完整運行整個程序,因爲無論我怎麼調試,程序到一半的時候都會莫名其妙地崩潰,而雜亂的設計與垃圾代碼使得我想趕緊將這些破玩意兒放入回收站。這時我一方面感覺自己也沒啥能力寫軟件,估計再寫也就是九流貨色,沒啥發展;另一方面開始責怪學校,爲什麼沒有一丁點兒編程的氛圍,那樣也不至於我孤軍奮戰。我還傻了吧唧地鬱悶了好一陣子,之後做了一個我雖然不後悔,但是卻覺得很幼稚的決定--加入考G大軍,並專門學習一年的英語。

其實現在想想那時真是愚蠢得很,明知道做軟件一次成功是不可能的,還偏偏犯這種錯誤。爲什麼呢?答案就是當時太急功近利了,以爲自己多牛逼,寫個程序不費事。但實際遇到困難的時候,又沒有耐心與毅力去解決,甚至感覺之前的工作是在浪費時間。雖然現在想想可笑,但是此刻很多人(可能我也在內)還在犯着同樣的錯誤。

總之,急功近利很容易導致莫名的失敗感,並且會爲自己的失敗(其實這個不能叫失敗)找各種藉口,然後在藉口的安慰下完全放縱自己。這一點也體現在了我考G的過程中。

2. 個性反思

當時項目上的挫敗感使得我對於計算機學院完全失去了信心,眼看就是最最關鍵的大三了,這將決定我今後的出路,我該如何是好?

這個時候我是這樣想的,如果考研,恐怕會從一個火坑跳到另外一個火坑。從而可能會與許多和我一樣迷茫的同學一起繼續兩年"打醬油"的生活。因爲種種幻想以及對自己不準確的定位,導致我想到了考G出國。於是花了1000多在新東方報名,成天夾着厚厚的"紅寶書"去圖書館……現在來看,我不後悔當初的決定,因爲我確實在這個過程中學到了很多知識,也認識了很多朋友。而且我覺得,如果當時因爲害怕而沒有去嘗試,自己會在悔恨中度過前半生。但是我覺得當時的考G絕對是泡沫,它讓我產生了種種幻覺,以爲自己因爲考G水平就高了不少。這個泡沫膨脹了半年多,最後以一個失敗的分數爲標誌迅速地破滅,就好像金融危機一樣。

其實,如果這個時候,我能意識到前面問題的嚴重性,最差也應該把握住得考G這個機會。然而,我又沒有做到。回顧整個考G的過程,我在不斷爲自己找藉口:

我埋怨背單詞太苦,於是經常爲自己開小差(游泳、看雜書、電影等);

我做題受到打擊時,埋怨周圍沒有人跟我一起準備;

我還以考G爲藉口,糊弄自己的專業課,糊弄自己的課設,糊弄自己的前程!

而每當被天書般的GRE習題打擊之後,總是自己傻了吧唧地鬱悶,而沒有用心去總結,去努力提升自己,因此浪費了不少時間。雖然,在此期間我從沒有放縱過自己,每天都儘可能地堅持呆在圖書館或自習室裏,但是對於本身英語基礎就很薄弱的我來說,面對這樣大的挑戰,如此糟糕的狀態又怎麼能成功呢?

最後的結果可想而知,我用了一年的時間專門學習英語,雖然英文水平有了一些進步,但是與鉅額的開銷,以及自己辛苦的付出絕對不成比例。現在我的GRE單詞也忘得差不多了,不知道這個曾經的美麗留學夢會不會隨着我的科學夢一起從此破滅呢……

下篇•爲夢前行

又是五月,去年的這個時候我還捧着厚厚的紅寶書,乘坐熟悉的217路公交車趕去新東方學GRE;前年的這個時候,我忙碌於ACM-ICPC和數學建模競賽……

今年五月,我坐在實驗室中,籌劃着自己的畢業設計,追尋着自己的夢想與未來……

大一:問自己--這個專業到底要學什麼

記得上大學前的那個假期,看過一個我們學校學生拍的DV,名叫《完美動物》,其中還算是比較真實地反映了現在大學生的學習與生活狀況。看着片中主人公畢業前聲嘶力竭的懺悔,我暗暗告訴自己,決不能荒廢掉寶貴的大學時光。

之前一直有志於從事核物理與工程的研究,不料,高考卻使我陰錯陽差來到了計算機學院。之前,我對計算機沒什麼瞭解,更不知道C語言究竟是哪一國的語言……不過,我的內心卻強烈希望自己能學有所成,成爲一個領域的牛人。

大一,我花了一年的時間去探詢計算機科學與技術專業到底要學什麼,我對這些是否有興趣,將來要從事什麼工作。聽人家說計算機專業的學生要首先掌握一門編程語言,於是我自己跑到書店,隨便挑了一本很厚的C++教材,開始啃了起來。就這樣,C++成爲了我的入門編程語言--沒想到四年後的今天,我還要靠着它混飯吃。

我大量翻看各種雜誌與人物訪談,希望能夠在其中找到我的未來。大一的時光很快就過去了,這期間,我努力培養自己對計算機的興趣,努力去尋找自己未來的方向。

"計算機專業到底要學什麼",這個問題經過大一一年的探索漸漸地清晰起來。我從網絡及圖書館裏學到了很多的知識,看到了一個新的天地,我也深深地爲這個世界着迷。此時,我發現學校裏的課程教育和我對計算機科學與技術專業的理解有很大的差別。課堂上多數老師都在重複着幻燈片裏的文字,一部分希望上進的同學耐心地接受着這種方式的"科普"教育,考試之前花費大把的時間對老師劃的"範圍"裏的知識進行機械地記憶,之後考出一個令人瞠目結舌的高分(信不信由你,我們班有平均分95以上的);另一部分同學則將自己的大好時光寄託於網絡遊戲,或是花天酒地終日穿梭於聲色場所……

這段時間我覺得自己是那麼的孤獨,我試圖融入周圍學習比較認真的同學當中,我希望他們和我一起去探索那個未知的天地。但是,我發現沒有人可以與我一起去探討計算機問題,也沒有人和我一起去做程序。我不斷問自己,爲什麼這種教育方式得到了這麼多老師以及身邊這麼多同學的認可,難道是我錯了?雜誌上、訪談中那些名人的學習經歷難道僅僅是天才的專利?是不是要成爲高手一開始都要去背概念、去考高分,去經歷這個"乏味的"階段,至於動手編程要等把這些都做好了以後再練……

直到大二上學期結束,我終於確定,學校的教育並不合理,多數老師講的是"垃圾",照本宣科的很有可能是他們自己都沒學明白的東西。而計算機科學與技術也不是僅僅學學概念就可以成爲高手的,況且按照學校的這種方式學下去,似乎概念都學不好,充其量不過是個記憶高手罷了。

這裏插一句,事實也證明了我的這種說法。我的考試成績雖然不是非常突出,卻也還算過得去,每個學期基本上都能拿到院裏的二等或三等獎學金。但是在我後來求職的時候,這些靠背概念就能拿到的獎學金證書並沒有起到什麼作用。以我的面試經歷來看,我簡歷當中最打動面試官的地方恰恰是我利用課餘時間及逃課所寫的程序,還有利用背考試題的時間所讀的課外書。這裏請大一大二的學弟學妹們好好考慮一下:時間有限的情況下,在高高的GPA和實際編程能力的訓練之間我們應該如何權衡。

大二~大三:爲了心中的理想拼搏--準備編程競賽

在新東方,我發現自己是井底之蛙

大二的寒假我沒有回家,在瀋陽新東方報了個TOEFL班,初衷並不是想出國,而是要利用假期惡補一下英語。但是到了新東方我發現到這裏並不僅僅是學習英語,我接觸到了很多新的思想,認識了很多有理想的同學,"留學"在這裏更多的是理想的代名詞。我被這種氛圍深深地吸引了,我開始意識到自己之前好像一隻坐在井底的青蛙,外面卻是更加廣闊的世界。這時我拼命學習,不僅僅是英語,還有編程。因爲學校要到大三才開設數據結構課程,而我知道要編寫好的程序必須熟練掌握這門課。於是我弄來了清華大學嚴蔚敏的《數據結構(C語言版)》教材,先是去努力理解裏面的概念與理論,然後再將練習冊中的習題逐個地編程解決。這時我還知道了有一個叫做ACM-ICPC的編程競賽,有很多大學生都參加,爲了練習,我經常到浙大的在線評判系統上去答題。總之,這個假期我沒有休息,努力去學習英語和編程。

開學之後,我開始"心安理得"地逃課,對於一些聽了讓人"壞腦子"的課程我基本不聽,甚至不去,而且心裏不再有從前逃課時的"負罪感"了。這裏要插一句,請大家不要誤解爲大學裏沒有好老師,沒有值得聽的課。其實還是有一些比較負責的老師,他們的課程豐富有趣,講解得透徹易懂,而且包含着很多經驗之談。舉個例子,我們大三時開設的"操作系統"課程就非常不錯,儘管當時我在備戰GRE,但是整個學期我沒有落過一節課。

刻苦練習,準備參賽

我把大部分的時間都用來練習編程、學習算法,因爲我們學校第一次有資格去參加區域性的ACM競賽。我發現僅僅是那本數據結構書並不能滿足ACM的要求,我就到MITOpenCourseWare去學他們的算法導論,正好還可以順便練練聽力。ACM的題目要求有較強的數學建模能力及Coding能力,有些題目難得讓人根本找不到思路,還有一些看似簡單的經典算法題目其中卻暗含着大量的陷阱。

我每天堅持至少8個小時的算法理論學習及編程練習,多則長達14個小時。這段時間可以說是我編程能力提高最快的時光。我學到了很多的知識,其中最大的收穫就是對於一種陌生的算法或形式化描述,我能很快地理解,並用程序去模擬它的流程。其實大多數看似非常複雜的算法都是由這些最基本的算法思想演化而來的,紮實的算法理論基礎對於今後的相關課程學習是非常有幫助的。對於現在程序員中流行的"算法無用論",因爲我還沒有接觸到正規的企業開發,所以暫時不予評論,但是我相信:要想成爲優秀的程序員,對於基本算法有深入與精確的理解應該是一項必需的基本技能。

然而,雖然我進行了近三個月的刻苦努力,但是比賽的結果卻仍以失敗告終。原因有很多,有外部的,但更多的是自己的,比起更多的程序高手,我只不過是個普通的Coder,資質一般,接觸編程的時間不如他們長,訓練的強度也不如他們大,用"腳後跟"想想就知道結果了吧。其實當時我將更多的希望放在了明年的比賽上,不過後來因爲備考GRE而放棄了。

參加數學建模競賽

參加數學建模競賽是我大學生活當中比較有意義的經歷,也是在這裏,我找到了和我有共同愛好的同學,我們可以進行交流,對問題進行爭論甚至爭吵,我體會到了與別人合作的快樂。數學建模競賽實際上就是一個迷你的科研過程。別人提出一個問題,這個問題可能出自於不同的領域,而且大都目前沒有得到很好的解決。參賽者用三天的時間蒐集與查閱資料,針對問題提出合理的數學模型進行解釋,通過實驗得出數據進行驗證,最後寫成論文。我很喜歡這種完全不同於課堂與考試的研究方式,我也非常喜歡用學過的數學知識去解決一些實際的問題。

從大二開始,我參加了兩次全國比賽,一次美國的比賽。得了一個省級二等獎,一個國際二等獎。結果一般,但我覺得過程更重要(決定比賽結果的往往有很多原因)。這個過程中我學會了很多,包括一些有用的數學知識,分析問題的方法,數學建模的一些技巧;我試着去學習如何快速地掌握一個陌生的理論並將它運用在建模中,如何與隊友配合,如何發揮團隊每個成員的最大優勢等。

依然清晰地記得2008年的那個寒假,我們留在學校參加美國建模競賽的情景。我的一個隊友是我的同班同學,他的文筆非常好,英文水平也不錯,主要負責參賽論文的寫作;另一個是數學系的學生,當時還是我們學校建模協會的主席,他的數學功力不錯,主要是進行模型的分析及公式的推導;我則主要負責問題分析與計算機求解等方面的工作。我們的配合非常默契,而且也都渴望能夠取得好的成績。我們隊是所有組裏最刻苦的,通常是早上6點起牀去實驗室,直到晚上10點纔回去。記得當時做了不少練習題,閱讀並分析了近幾年來MCMOutstanding論文,而且逐漸形成了我們自己的配合與交流方式及解題風格。經過了將近三個星期的集訓,我們滿懷信心與激情地開始準備比賽。但事事難料,競賽的前一天半夜,我竟然高燒39度,隊友冒着嚴寒(那時的瀋陽格外冷),半夜陪我跑到附近的醫院打點滴,照顧我休息,一直陪我到第二天清晨纔回去。這讓我非常感動,同時也深深感到了有好的團隊與氛圍是多麼重要。之後的競賽,我發揮一般,不過通過我們齊心協力的配合,拼了四天三夜,總算按時完成了那篇一萬多詞的英文論文。雖然最終的結果沒有達到我們爲學校創造歷史的期望,但遺憾卻無法掩蓋這難忘的美好經歷。我忘不了那段奮鬥的日子,忘不了大家一起通宵討論數學模型,忘不了生病時隊友的關懷,忘不了單老師的耐心指導,忘不了朱老師每次總是在最後多發一盒飯給我,更忘不了大家爲了同一目標一起拼搏的時光!

大三~大四:考G與求職

大三下學期,我決定加入考G大軍。當初決定考G的原因有很多,不過簡單來說就是對現狀的失望與逃避,以及對自己夢想的憧憬與嚮往,我並沒有對自身的條件及現實情況做足夠的評估,這從某種程度上已經決定了失敗的結果。這個決定是草率的,但是我卻從來沒有後悔過,因爲在整個備考的過程中我付出了很大的努力,雖然努力得還不夠;也收穫了很多,我甚至因爲這段時間的英文積累在後來的求職過程中得到了一個去外企工作的機會。

雖然有足夠的心理準備,但是此次北京之行仍給了我很大的觸動。本來以爲雖然外界形勢不太樂觀,擁有"中國硅谷"的北京會受到一些影響,機會仍會很多,但我在北京轉了將近一週的時間,發現在規模最大的招聘會上也僅僅有很少的幾家公司,而且競爭異常激烈。直到現在我還清晰地記得招聘會上擁擠的人羣,諸多求職者焦急的神情……

在求職的過程中,我曾經很多次遭遇因爲學校不是重點大學而被HR當場拒收簡歷的尷尬,我也經受了在網上投了幾十份簡歷而杳無音信的焦慮,以及在某公司的面試現場被人毫不留情鄙視的無奈。總之,找工作的過程中經歷了不少挫折,同時也帶給我很多的思考。

憑藉着還算流暢的英文口語,我得到了去北京一家軟件外企做技術支持的機會。爲時一年的GT備考並沒有得到我想要的結果,這個機會也算是對於那一階段努力的一個結果與回報吧。另外,因爲自己課餘做的兩個不是很成功但卻有一點點技術含量的小項目,我還得到了去上海一家做遊戲的創業公司做C++開發的機會。

技術支持主要是與客戶進行溝通,幫助他們解決產品使用過程中的一些技術性問題。這個職位需要比較強的交際能力,以及英文口語能力(公司產品主要面對的是歐美客戶),但是對於技術方面可能會涉及得比較少,而且幾乎不需要去寫什麼代碼。

那個C++開發職位則需要一些實際的編碼能力,工作中更多的時間將會是與機器打交道。出於對自己實際情況的考慮,我選擇了去上海的那家創業公司。這主要是因爲我更喜歡從事技術開發方面的工作,並且在與人交往方面不是很擅長。這家創業公司裏的員工基本都是80後,感覺大家工作都很有激情,而且工作環境也比較開放自由,這也正是我想要的工作。這裏要說一下,很多人都認爲技術支持或銷售不如程序開發工作"",我對此觀點向來不是很認同。在我看來,每個崗位提供的機會都是一樣的,只不過是工作環境的不同而已。而每個人的特點與愛好不同,所以並不是所有的計算機專業學生都要去做開發。特別是一些交際能力很強而對技術不是非常感興趣的同學,可能技術支持或銷售等方面的職位更加適合他們。選擇了適合自己的環境,不僅會工作得很愉快,而且可能很快就會在這個崗位上嶄露頭角,我想這要比做一個每天悶悶不樂的"代碼民工"好得多吧。

結語:我想對師弟師妹們說

一定要弄清楚上大學首要的任務。明白自己是來幹什麼的,走出這裏的時候自己要收穫什麼,自己希望成爲什麼樣的人。每個人都必須要有明確的目標,除非你想過四年打醬油的生活。這一點我做到了,雖然做得不好,走了彎路,但是我沒有白白荒廢四年的時間。

要有紮實的學科基礎。不要將自己侷限在得一個高分的狹小範圍內,僅僅看到眼前的榮譽無疑是目光短淺的表現。要注意學習的擴展性,要努力去理解並掌握本專業常用的的核心思想與技術,達到熟記於胸的程度。

發現自己的優勢,選擇適合自己的出路。不要僅僅看中程序員的高薪水,做最適合自己的方向的工作纔是最最重要的。

學過理論要注重實踐。可以自己做一些力所能及的小東西,有意從事計算機方向的同學需要熟練掌握一門程序設計語言、一個開發工具、一個系統平臺和一種編程思想。自己動手做一些有一定技術含量的項目。

最好是能夠利用好假期的時間,出去實習。實習經歷將是畢業時"賣身"的有力籌碼。

切忌浮躁、急功近利。假如以你的實力可以通過五年的時間成爲一個領域的高手,如果自己期望縮短到三年的時間或更短,最終很可能要用八年、十年的時間,甚至可能永遠都做不到。

目標要堅定。對於自己已經決定的選擇,要執著地追求,直到在其中獲得了你滿意的成果。

做事情不爲自己找藉口,藉口==失敗。

以前聽別人說"要有自己的理想,並堅持自己的理想",總感覺說得很"",但是現在我卻從內心深處認同這種說法。剛上大學的時候,我也曾彷徨過很長時間,我不知道自己究竟要幹什麼,看不清何處纔是自己的未來。後來,我看了很多廣爲流傳的成功人士的故事及他們的心得體會,對我影響最大的兩個人是李開復和蘋果的Steve Jobs

開復老師的那本《做最好的自己》我不知道究竟讀過了多少遍,而且每一次讀都有更深的體會與強烈的認同。其實對於外部環境的困惑與不滿也使得我苦悶、彷徨甚至想放棄,但讀過開復老師的書,我懂得了對於自己無法改變的事物,要有接受它的胸懷;而對於自己可以改變的事物,要不遺餘力地去改變它。每到我感覺苦悶無助的時候,我總是努力地提醒自己:無論外界環境如何,我所能做的就是儘自己的力量,利用周圍有利的環境,去追尋理想。要做到這一點的確很難,所以要時常提醒自己、督促自己。

Steve Jobs那句著名的"你是要繼續賣糖水,還是要改變世界"曾無數次激發我追求理想的激情與決心。一次偶然的機會,在YouTube上,我看到了一段Steve JobsStanford的演講視頻。從此,每當缺乏Follow My Heart的勇氣時,我都會去聽這段演講(可能已經聽過上百遍了),有時甚至會聽得熱淚盈眶。與大家分享這段話:

Your time is limited, so don't waste it living in someone else's life. Don't be trapped by dogma which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And the most important, have the courage to your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.

願和每一個有夢想的同學一道,Follow Our Heart,實現我們的夢想!

網友跟帖

Tiny foolApr 1, 2009 @ 10:37 am

我的看法是,核心問題在於眼界。計算機專業的課程都學好了(我的意思是不要限於考試的標準),其實是很不錯的。我看到過很多例子,很多人很努力,但是水平原地打轉,甚至慢慢地就落後於他的朋友們。原因在於,就他所學,他已經不知道自己該繼續往什麼方向努力了。

在學校的學生的不幸在於,我們曾經是一個非常仰視大學的國家,我們的父母老師,天天告訴我們考上大學一切就OK了。然而現在社會發展了,大學門檻也低了,我們到處都可以看到大學生了,用人單位的門檻也高了。自學的朋友也一樣,你學會了貝葉斯,開始流行hmm,你學會了hmm,開始流行rcf。但是,我們每個人都不是傻子,我們天生就有每天都上升的空間,只是我們的眼界太窄,看不到路在何方而已。

小馬xioamaApr 1, 2009 @10:01 am

作爲一個畢業15年的過來人,我也來說幾句,其實進了大學,一切都是靠自學。我一直在說的一句話就是"在大學裏能學習到的唯一的東西就是學習"。因爲畢業後,根本不可能靠在大學裏課堂上學習到的東西混飯吃,新畢業的人在用人單位看來,等於一張白紙,所不同的就是這張紙的吸墨能力有多強。

221.233.24.*Apr 6, 2009 @2:31 pm

說些什麼呢?似乎想說的話有太多太多,卻又無從說起!

我沒過四級,不是因爲我不努力,我努力過了。我也掛過很多課,不是因爲我不好學,是因爲我覺得好多課程根本沒有用。曾經也無數次的彷徨迷茫過,但是我從沒有放棄過。四年我唯一沒變的是一顆上進心,一份責任心,一顆感恩的心,一份信心。

記住不要放棄自己! 

221.233.24.*Apr 7, 2009 @02:27 am

文章中說的大學中的種種弊病,我覺得是幾乎每一個大學每一個學院和每一個大學生都有可能遇到的。不單單在我們計算機。我覺得你這篇文章蠻有哲理的,但更多的是對現實的不滿,但發泄不滿沒有任何意義。因爲現實就是現實。

與其爲這些煩惱,厭煩,不如考慮一下如何在現實的情況下通過自己最大的努力去取得成功會好些。

我覺得夢歸根到底是夢,回顧和反省應該更多地關心自己,因爲環境不是我們說了算的,我們說得算的只有自己。

Jeffrey ZhaoApr 1, 2009@20:44 am

大風氣真的那麼重要嗎?的確大風氣很不好,我也承認,但是我絕對相信你能找出10個志同道合的人,再退一步,認真治學的老師和同學出來,這樣的小團體還不夠嗎? 現在互聯網那麼發達,到處都能交流,資源之充沛只會讓人接受不完,我覺得沒有理由怪什麼精神不精神,資源不資源。

當看不清世界發展,那麼可以看清過去的發展啊,過去有哪些是不變的,很少變的,一般以後改變的可能性也不大。把時間投資在這些方面,一般總是有很大好處的--尤其是周圍的人都不怎麼投資的時候。至於方向:交流、交流、交流……

fang xuApr 2, 2009@10:44 am

我很反感這種一味拿主觀能動性來說事的。事情哪有這麼極端。牛人和庸人都是少數,他們可以很少受環境影響,但是在正態分佈中心附近的大多數是很容易被塑造的。大學生雖然不是小孩子,但依然缺乏磨練不夠成熟。

雖然不管怎樣,學生的能力分佈也會是個正態分佈,但好的嚮導會使平均值提高。基因自身可以發生遺傳突變,但是環境會對其進行篩選或是誘發突變。人也是一樣。

KaiixApr 3, 2009@11:10 am

我不知道同在這種情況的朋友怎樣想,對這幾年反思,有抱怨,有自責。抱怨環境,沒有人能夠在我稍偏出方向時給我一聲提醒;抱怨沒有可以一同討論、研究技術的同伴, 哪怕一個也好;抱怨老師好像透明人,這幾年沒有幾個老師讓我記住名字;抱怨自己,恍恍惚惚,似乎學了很多,其實學到很少。

總是告訴自己除了自己的問題其他的一切都是藉口。環境真的那麼重要嗎,難道我真的不能夠享受這份孤獨?我認爲除非有非常好的自制力和強大的目標驅動,想做到這點真的很難,非常同意能夠享受思維的孤獨是更爲貴重的品質。

今年也大四了,回顧過往,遺憾很多。但可喜的是在學校最後一年時自己的思想成熟很多,"朝聞道,夕可死",整理心情,繼續向前走。

 

 

二、劉 在失望中尋找希望

曾經多少次跌倒在路上

曾經多少次折斷過翅膀

如今我已不再感到彷徨

我想超越這平凡的生活

--汪峯《怒放的生命》

引子:失望中有希望麼

我是爲數不多的本科畢業工作三年後再讀研究生的人。上本科以來的十年,卻大部分是在茫然中度過的。我迷迷糊糊,跌跌撞撞。痛苦中有奮鬥,掙扎中有快樂。

高中的理想如此簡單:上清華,考北大

我的高中絕對是在盲目自負中濃墨重彩地走過的,因爲自己的勤奮和對數理化的熱愛,班級第一名的頭銜時刻掛在自己身上,結果除了清華北大之外,對任何學校都不怎麼關心,再加上學校對於學生除了考出好成績之外什麼都不關心的教學方式,使得自己對於大學、專業、前途等一切的一切都處於超級茫然狀態,彷彿自己的一生只是爲了去清華北大讀書,僅此而已。多麼可笑的理想與人生目標,但也正是這樣的目標促使自己在高中階段不斷努力、永不放棄。然而,我一個初中同學的成績一直排在我前面,我沒有任何辦法超越他,因此,高考估完分數後,知道清華已經沒有希望,於是就不知道自己的下一個目標是哪裏了。

那時,對其他學校認知的匱乏讓自己無助起來,最後的抉擇,是希望選擇一個好的專業,於是比較熱門的計算機科學與技術和通信工程專業成了自己的首選。計算機這種奇妙的東西,相信沒有哪個學理工科的男孩子不熱愛吧,於是我就選擇了計算機作爲自己的專業。根據專業來選擇學校,按道理說也算是一種策略吧,但我瞭解的學校資源實在太少,再加上自己當時是個不願意與任何人交流的人,於是最終,聽從了親戚的安排,去了西安電子科技大學,一所電子類的相當專而小的學校。

我的母校--西安電子科技大學,被國外教授禮節性地誇讚爲"中國的MIT",但顯然,我們都清楚,這種讚譽實在是過了。現在想想,本科時候的自己是多麼的不合羣,多麼的2。當時自己的價值觀念是讀書爲要,一切讓道,完全套用自己的高中思維來應對大學生活,最終到處碰壁。

清晰記得幾個經典段子

軍訓時,宿舍其他同學閒暇時聽的歌曲以流行、搖滾爲主,當時,著名的愛華(後來被SONY收購)和SONY的超薄Walkman還是一種奢侈品。羅大佑、唐朝樂隊等的音樂在宿舍裏面迴盪,而我當時出校一次,帶回了一盤《歌唱祖國》的磁帶,回來後遭到了幾乎所有人的唏噓,此時自己才發現,原來我和別人的差異是如此的大。但當初哪裏會認爲是自己的問題啊,一如既往地認爲所有人都很2,堅持着自己的風格,一如既往地跟大家不太合。

還清晰地記得,當時軍訓結束,幾乎所有人都脫掉軍裝穿上帶有自己個性的衣服去開學院的一次全體會議,唯有我一個人穿着軍裝進去,結果被所有人視爲異類--而且我不僅穿着軍裝進去,還掛着肩上的領花橫槓,一切的一切都印證着一個農村來的孩子,接受着最最紅色的正統教育,他的入校階段的生活會是多麼的尷尬!

本科四年 定調:迷迷糊糊、庸庸碌碌地拿着獎學金

我是科班--卻沒學懂計算機

我是傳統意義上的計算機科班出身,學過數據結構、編譯原理、操作系統、彙編語言、計算機原理、計算機系統結構、離散數學、概率論、計算機網絡、數據庫、單片機、算法設計、數理統計、高級語言程序設計、面向對象程序設計,從DOSTubro Pascal時代學起,一直學到VC6。然而,我卻並沒有學懂計算機。

本科時,自己的考試成績一直排在前面,但幾乎所有的時間和精力都花在了犯迷糊、做作業和遊戲上。本科階段是我們精力最最充沛、時間最最富裕、最最容易跟其他人拉開距離的階段,如何處理這段生活,將會造成最後的千差萬別,遺憾的是,當時卻沒有人告訴我這一點。我像高中階段一樣,只學習那一點點可憐的上課講的知識,幾乎不看教材、不怎麼看課外資料,課後的作業基本是獨立完成,卻從來不是主動地思考、從各個可能的角度出發尋找到解決問題的方法,而是沿着老師講過的固定的模式,或者尋找類似的解答方法,然後稍微變換,從而完成解答。我總是認真聽老師講課,每次上課從來不預習,從來不會計劃這學期我要幹什麼、這堂課我要幹什麼,我機械地聽着每一節課,機械地在迷糊中重複着作業、考試,我幾乎每一個學期都會拿到獎學金,可那又怎麼樣呢?

拿數據結構這門課程爲例,嚴蔚敏老師的經典教材相信幾乎學過計算機的人都是耳熟能詳的,這本書上的算法和數據結構短小精悍。我們的授課老師,卻只講最簡單的概念和不深的理論描述,給我的感覺就是,"數據結構"幾乎是門和"離散數學"差不多的數學課--他用最膚淺的知識,"成功地"告訴了我們"數據結構"是門幾乎不用動手寫程序的課程,只用上課聽聽就好了。於是乎,一門需要動手實踐、將會極大地提高我們編程素養和思維能力的課程,就被我們這樣迷迷糊糊上完了。

震撼:在清華聽朱仲濤老師的"數據結構"

2005年準備研究生考試的時候,我旁聽了朱仲濤老師的"數據結構"課,當時的感覺只能用兩個字來形容:震撼。在他的課上,我對數據結構有了全新的認識,對計算機也有了一點與以往不同的瞭解。

他的講課風格非常獨特,他只用1/5的時間簡述一下要講的內容,剩下的時間都是當場寫程序。著名的約瑟夫環、Dijkstra算法、Prime算法、快速排序、堆排序、錦標賽排序、Tarjin強連通分量、Convex Hull等深的淺的,教材上有的沒有的,全部在課堂上從0開始實現:每遇到一個算法,一邊寫程序,一邊講解,不懂就將程序的運行結構拿出來分析,並不時地穿插離散數學、概率論、內存管理、C語言、彙編語言等知識,幾乎將我們學到的東西非常恰到好處地拿出來,讓我們從心裏面覺得原來所有的知識是連貫的,我們之前的積累都是有用的,並且富有成就感。

我清晰地記得他在工業工程系課堂上講""的時候,用計算幾何中的Convex Hull(計算幾何中求凸包的算法,由美國ACM大牛Graham發明,該算法通過nlogn複雜度求出平面中一堆點的最外層包圍矩形邊界)來顯示棧的使用。這個算法在A4紙上寫說明最少也要兩頁,加上裏面具體的技術,個人覺得可以給3個小時的時間來考查一個訓練有素的程序員是否合格。而朱老師在1.5小時的時間裏,一邊講,一邊寫,用最優雅的方式,完整地實現了這個算法,寫完程序,一個編譯錯誤也沒有,成功運行,隨機的點,優雅的邊界,當時全班鼓掌兩分鐘。他說:"我很自信,即使是最頂級的程序員,也不能將我的代碼優化多少了。"

他的課讓我明白:"數據結構",以及一切計算的課程裏面,凡是自己不理解的東西,自己說不清道不明的東西,其實有很多人是理解的。我的老師沒有給我必要的關鍵性指導,但,不可否認有一些同學,他們總是先知先覺,他們總是會問"爲什麼這門課程要這麼上",他們總是會思考自己是不是走在正確的路上,於是他們大量豐富自己的實踐,從而也優雅地完成了本科學業。但遺憾的是,我和大部分我的同學們,就這樣,因爲缺乏必要的指導,迷迷糊糊、庸庸碌碌地過完了本科。

現在回想過去,才發現自己當時多麼無知、多麼機械。其實,不懂的時候,不管任何時候,你都可以去問老師、同學,從而節省大量的時間和精力。我們必須在年輕的時候有意地培養自己獨立思考的能力,經常想一想,我要的是什麼、爲什麼要做這件事、做這件事有什麼好方法、這樣做有什麼好處和壞處、如何改進等,也要與人交流、溝通,講出自己的想法,請別人指正。我們需要培養的是自己的思考方式,而不是簡單地獲取知識。

計算機專業需要大量時間,需要付出大量精力,也需要極大的耐心。但大部分像我一樣的80後都做不到。而做到的,現在幾乎沒有例外地都找到了很好的工作。

公司不重視技術--與我的興趣衝突

本科畢業後我就參加了工作,一干就是三年。

我工作的地方是個典型的國有企業轉制後的股份制公司,計算機公司,以系統集成和網絡爲主,軟件是副業。我的項目經理和部門經理對我很好,現在我依然感謝他們。只是,我實在無法接受這樣的工作狀況:待遇一般,溝通匱乏,無視積累,沒有傳承,頻繁的軟件部門高層更換預示着軟件的步履維艱。也許,我們把軟件業務全部外包會更好,但是那麼多爲公司辛勤工作的員工將何去何從呢?

工作階段,我的角色還真不少,有點需求分析,有點系統設計,大量的軟件開發,大量的系統實施,一點點知識探索,一點點售前支持。既是典型的多面手,又是行行膚淺的門外漢。很少有人能從技術上指導我,不是因爲我很牛,只是因爲我們實在不是個以技術見長的公司,而我自己,卻十分喜歡技術,喜歡和計算機打交道,喜歡盯着計算機的輸出而後體會其無窮的美感。這是我喜歡做的事,但工作卻不允許我這麼做。

考研•讀研 定調:開始改變思維習慣,化機械記憶爲主動思考

若只有機械思維--上了清華又如何

工作的第三年,我準備考研了。我的如意算盤是,當20068月我的工作合同到期的時候,能自然而順利地過渡到研究生階段。

當時我設想了4種結果:

上清華計算機系的研究生,將來去MicrosoftIBM工作;

調劑到清華軟件學院,依然可以去好的外企工作;

調劑到其他院校;

考研失敗,就當什麼都沒發生過,繼續工作,或者從頭再來。

以上的每一個結局,我都能承受,不算破釜沉舟,但絕對全力以赴。在每一個下班的晚上,在每一個週末的分分秒秒,我蹬着自行車衝到清華,吃飯、看書,回來睡覺,利用工作的間隙繼續看書。就這樣,沒有任何雜念,沒有任何包袱,風風雨雨地跑着,簡簡單單地過着。帶着對未來的期盼,和對現有生活的改變,堅持着。也曾經偶爾想過放棄,但更多的是受理想的驅使。

考研的結果,我進了清華大學軟件學院。但仔細回想考研的過程,我卻依然沒有擺脫思維的侷限--以機械記憶爲主的學習方式。也許是我覺得時間太寶貴,也許是真的連思考的時間都沒有了,我每看到一個題目,總是會先看答案,讓答案來指引我的思路,而不是用自己的腦子想問題。

這種學習方式在短期內的確會取得很大的成果,但卻貽害無窮。長此以往,會使人喪失判斷力、理解力和交流能力,只留下可憐的記憶力--這樣的人難有大成。這樣的學習方式會使我們的思考方式淪爲簡單地重複和機械地回憶,膽子變小,創新力幾乎喪失--對於計算機這種快速變化和要求很高的學科來說,顯然沒有什麼價值。

讀研之後我終於正視了自己思維的機械與缺乏活力的問題。我有意識地努力嘗試去改變。看書的時候,我每看一會兒就想想作者在說什麼,以訓練自己的概括能力;看看作者表述得是否合理,以訓練自己的懷疑能力;勤於反思,以訓練自己提出問題的能力。但習慣是長久養成的,顯然改變也是需要一段時間的。

實習之門 定調:快想,快說,快乾

IBM實習:和以前的工作不一樣呢

IBMCRL的環境不錯,普通員工的辦公場所也算寬敞:電腦兩臺,都是高配置。空調很涼快,體制寬鬆,但人們的工作非常緊湊、忙碌,壓力大,追求高效。

作爲一個曾有過工作經驗的實習生,在這裏體會到了完全不一樣的感覺。

工作效率高、速度快。CRL的整體工作節奏不太像IBM這種巨人的風格。Mentor是個急性子的女博士,腦子非常聰明,解決問題的能力很強。同樣的新問題,她能夠很大膽地想出新辦法。CRL要求員工講話簡短,注重效率,跟人溝通開門見山,且從來不喜歡重複。我在這裏體會到,很多時候,如果不能在頭三句話裏就把一個問題說清楚,後面就可能永遠沒有開口的機會了。

對新問題的反應快。這裏的正式員工論智商,確實趕上了清華排名10%30%的人才了。沒辦法,只能以勤補拙了。

工作量大。這裏一天的工作量,相當於在以前單位工作一個星期。像戰爭一樣的生活,讓我每次下班後見牆就想靠,見牀就想睡。不過感覺也非常充實。

沒有心計,人比較單純。有什麼說什麼,不用耍心眼,不用藏着掖着。可以把辛苦的差事,努力做得簡單而快樂。

配套設施不錯。運動場所還行,咖啡好喝。

求職之路 定調:再次痛感基本功的重要

"完美時空"面試的不完美經歷

--崩潰之餘也反思

有了本科時找工作的教訓,現在,我一心就想找個重視技術、團隊氛圍很好、周圍人水平都比較高的地方,於是投簡歷基本上都以外企和好的技術公司爲主。找工作到現在,我一共面試了17個公司,拒掉5家,被拒11家,最終簽下Amazon。掛掉的原因無非是這幾個:英語,思維習慣,紮實的算法,興趣點。其中掛掉的比較典型的公司之一是"完美時空"--我認真地準備了差不多兩個星期,可以算是全力以赴,卻一無所獲,下面講的就是我面試"完美時空"的不完美經歷。

工作場所在一個角落裏,問了半天才找到地方,上去一看,傻眼了,完全不像想象的那樣:大大的工作場所,有休息的地方,裝飾豪華,反而像一個稍微大點的機房,大家緊張地工作着,夢想、實現、進度等在這個侷促的環境下顯得尤爲珍貴。可以肯定地講,以前同學說的招人不怎麼做事的想法是多麼的幼稚,哪個創業階段的公司會用1萬多的月薪供着一個不幹活的主兒?經過3層樓的尋找,終於在7樓找到一間沒有被佔用的會議室,HR讓我等下,自己去叫程序部的兩位Manager下來,我當時以爲技術面試應該會限於我做過的幾個題目,而那幾個題目我已經翻來覆去地想過了。但很遺憾,針對題目問的問題很少,而且我基本上不知所措。

一個Manager先問我當時爲什麼把題目全部做了,然後讓我挑一個,說說做得怎麼樣?我就把自己實際考慮的、怎麼樣做會更完美等一系列想法都講出來,接着他問,題目是這麼要求的嗎?你從題目能看出來要求什麼?我就說要將客戶端和服務器端放在一起,要用多線程,界面不能死,要處理異常等,最好啓用log記錄。然後他問,哪些是題目要求的?你認爲最重要的是什麼,等等?我就又講了用TCP和發送接收文本信息等。貌似他還是不滿意,他一直強調我將一個簡單的問題考慮複雜了,貌似我一直沒有抓住重點,很鬱悶。

之後問const的問題,問我是不是想過,Java是不是精通,我說是,又被問到,Java如何實現constJavaconstC++一樣嗎?怎麼實現的?這個問題又讓我崩潰了。

再然後,開始隨便問了,打擊更大。先問,是否玩過遊戲,都玩過哪些,自然答玩過。談到網遊,突然問有沒有想過升級算法怎麼設計,我思考的時候,直接被打斷,"考慮過沒有",答"考慮過""怎麼實現?",我沿用暴雪的魔獸的算法基本上講了一下,也不知道答得咋樣。此後因爲我星際玩得最多,問如何保證種族的平衡性,這個我又傻了,居然說了根據實際運作的過程來反饋,以及提了一點攻擊屬性和兵種等。這個問題又答得很差,其實還是平時沒有怎麼去想,腦子之前沒有轉過,現場去轉總會犯傻的。下來想想,應該是保證各個種族的兵種基本上都既有對應兵種,又有相剋兵種,每一個兵種攻擊都設計它的強項和弱項,每一種戰術都有相剋的戰術,如果考慮到這些,應該就能保證基本的平衡了。不知道這樣回答對不對,至少比當場回答得好。

又問,如果讓你設計口袋西遊,你怎麼設計?這個問題估計我又扯淡了,沒答到點子上,全憑自己的想象來。再後面就是項目經驗的回顧了,這次比以往每次都來得深入。同樣被問到,lucence的文件索引怎麼實現的?唉,知其然不知其所以然,這是我一貫的問題,NB的公司總是問到我的軟肋。答曰,沒看過。又問,如果不用lucence,你怎麼辦?有沒有替代方案,你覺得整個項目你最引人矚目的地方是什麼,你最願意展示的是什麼?我曾經講過無數遍這個項目,不同的公司關注點很不一樣,像這樣被抓住問的還是第一次。之後談到在IBM做的項目,談到了一點測試,直接被問到,你覺得自動化測試框架怎麼設計?如果這樣設計性能不好怎麼辦?怎麼優化?我對測試本來就不怎麼懂,這樣面下來又崩潰了。然後問平時我的項目大概有多少,怎麼做的測試,答曰較少。用到了Junit,被問到Junit哪些地方不好等,所有關於測試的這些東西基本全掛。

終於不問問題了,估計也不需要再問了,我有多少水分他們應該知道了,他們理想的人應該不是我。他們希望招聘到精通遊戲設計,精通並且思考過很多遊戲及相關係統底層,並且對測試比較熟悉的人,很遺憾我不是。本以爲我會面數據安全部,結果程序部C++部門的兩個人下來把我面傻了……遊戲設計,遊戲中的設計,以及一些底層的問題、測試框架和相關東西,基本上每一個問題都答不好,HR問,你自己給自己打幾分,我說80,他忽悠了我一下,我又說7080,然後邊上的Manager詭異地一笑,我意識到不對,看來真的是很慘,可能不及格……曾經寄予了太多的希望,曾經抱着無數的幻想,現在看來,我不屬於完美。這次掛掉,對我來說意義很大。其實這是必然的。

好的外企或好的技術公司希望招聘到的學生是做事超級投入,特別樂意思考,充滿活力,並且具備一定的行業知識的。因此,在面試準備的時候,應該充分了解自己應聘的公司,多思考,多關注架構等背後的東西,才能應付比較深層次的技術面試。

另外,謙虛、和善、願意向別人學習、擅長理性思維,是技術類工作面試中的加分項。

結語:總能看見希望的亮光

跌跌撞撞地前行中,還是能悟出一些道理,與大家分享。

1.珍惜每一個生命階段。每一個人的生活都是精彩的,沒有必要厚此薄彼,也沒有必要給自己太多的打擊。每個人獨立地擁有時間,也許我很笨,也許我很窮,所以我需要花費比別人更多的寶貴時間,僅此而已,我要的是--享受過程。

2.做自己的主人。不要辜負上帝給我們的聰慧的大腦,用它來獨立地想問題,用自己的眼睛來看世界,用自己的心靈來感受,用自己的金口來提問。不要害怕,不要退縮。

3.加強實踐與執行力。不要欠生活,不要欠工作。出來混,總是要還的,你不會的知識,你懶於想通的東西,總是會在一個必要的時候提醒你、懲罰你。將沒有搞懂的、希望做到的東西,寫在紙上、貼在面前,認真實踐,當你做到的越來越多的時候,你就會越來越自信,你的層次會提高的。相信我,人與人之間的差距很大,原因在於自我控制力有差距

 

三、辜新星 時刻調整方向:找到人生的藍海

我想知道流星的美麗 是否值得去尋求

於是我心狂奔 羽化成黑夜的彩虹

蛻變成月光的清風 幸福了我很久

-- 鄭鈞《流星》

引子:騎單車的故事

小時候看過一個關於單車的故事:爸爸教兒子騎單車,兒子總也學不會。爸爸看出了問題所在,於是在再一次示範後讓兒子看身後彎彎曲曲的車輪印,並語重心長地說:我兒,雖然你看見別人騎車時車頭很直,但那也是因爲他在時刻調整方向,才能順利前進啊!

故事裏的兒子有沒有學會騎車我不得而知,但這個故事一直都能讓我在回顧自己的成長曆程時想起,顯然是個好故事。

本科四年 定調:大一有點瞎忙,而後自己做主

大一我是社團狂

2002 年,我考入北京大學計算機系。能進入夢寐以求的大學,學習我當時覺得最酷的專業,自然非常高興。進入北大後,我就一心追逐起自己夢想中的大學生活:加入了校團委社團文體部,跟着一幫雖然只比我高一兩屆但說話做事明顯成熟很多的師兄師姐們,忙着認識各個學院的朋友,忙着辦各種文藝晚會,忙着管理北大超過100個學生社團;拿了把吉他就拉人組成表演團體,參加了北大校內最火的新生文藝匯演,在北大百週年講堂的舞臺上過了一把主唱癮;成爲了學院團校的積極分子,每期不落地參加所有的活動;還擔任了團支部的職務。我非常清楚地記得,大一期間,我每週光各種例會就有三個半。然而,大一也是學習壓力最大的時期,不僅各種基礎課程數量多、難度大,而且幾乎所有的新生都要面臨轉變學習方式以適應大學學習的問題。所以,我當時的生活特別緊張,任何時候的感受都是一個字:忙。

很快,瞎忙的結果就白紙黑字地送到我的面前,我的"高等數學"期中考試只考了不到80分。一紙驚醒夢中人,我突然意識到,我曾經夢想的自由自在的大學生活,也不是那麼無拘無束,至少還有分數這樣的硬指標在衡量着我的前進或退步,提醒我不要迷失方向。在初高中,我從老師、父母那裏聽到了太多次一個美麗的"傳說":現在努力學習吧,過了高考,一切就都解脫了,大學將是你自由發展的天堂。現在看來,事實要讓很多將這"傳說"當作最後一根稻草的高中生失望了。

大學的確提供了非常豐富的能力培養機會和廣闊的個人發展空間,但歸根結底,學習和進步纔是大學的主題,荒廢其中任何一個都不能讓大學生活過得充實而完整。

好學長賜我財富

既然已經覺醒,那就改變吧。我開始把大量精力投入到課程學習上:像高中一樣進行課前預習,增加了課後自習的時間,每天都在三教或圖書館待到關門。但是,我仍然感覺時間不夠用,學習的時候總感覺各種事情紛至沓來、壓迫我的大腦,巴不得能並行作業同時完成若干件任務。我很困惑,跟一個同樣做學生會工作的師兄聊天訴苦,談我面臨的問題。他很乾脆地給了一個建議:做好短期時間規劃。具體而言,要把每天把要做的事情分成ABCD四類:

A--緊迫且重要;B--重要不緊迫;C--緊迫不重要;D--不重要不緊迫。

然後按順序爲每件事情安排一段專屬的處理時間。關鍵的是,一定要在專屬時間內專心致志地做好當前的事情,不受其他任務的干擾,這樣才能提高效率。

這是我從學長那兒獲得的第一筆真正意義上的財富,立刻從善如流,受益匪淺。大學期間,我每年都能獲得獎學金,並且因爲良好的學生工作表現,獲得了北京市三好學生、北京大學優秀學生幹部等榮譽。

理解專業,痛並快樂着

最早接觸計算機是在小學畢業的暑假,被家人送到市科委的計算機培訓班。說是計算機培訓,其實就是一幫小孩在386 的電腦上學五筆,用當時算是先進的Windows 3.1操作系統。即便如此,計算機也讓我大開眼界。當時我最喜歡的當屬最流行的指法練習軟件TTWindows 自帶的掃雷遊戲,看着不斷掉下的單詞塊被擊碎或是鼠標輕輕一點就消去一大片方格,心裏總會大呼過癮。等到初中畢業有了自己的奔騰Ⅱ電腦,就不滿足於玩玩遊戲了,開始各種折騰。那時候最喜歡做的是優化系統性能,各種電腦相關報刊上的系統優化方法是我的最愛,從調整虛擬內存、優化註冊表到更新驅動、刷BIOS,危險的、不危險的全都要親自動手嘗試一下,彷彿不調整系統就慢得難以忍受一樣。那時候我對計算機專業的認識基本上可以歸納爲三條:用Visual Studio寫程序,學習Windows系統(尤其是註冊表),DIY攢機。甚至在大一回答一份關於課程設置的調查問卷時,我到現在還清楚地記得我在建議一欄裏寫上了:開設Photoshop課程--真土啊!囧

轉變的過程漫長而艱難。當大一下學期開始增強對編程的要求時,我缺乏編程基礎的弱點就明顯暴露出來。加上身邊還有不少熟悉編程語言甚至有過計算機競賽經驗的同學,我跟他們的差距就越發明顯:常常自己調試半天找不出Bug所在,而有經驗的同學一眼就能告訴我答案。有差距,就要追。怎麼追--

買書,編程的,大部頭,很多。從編程語言到編程風格,再到數據結構和算法,幾乎每本書我都是從頭到尾抱着仔細讀完的。

堅持在讀書的時候把代碼一行行親手敲出來並編譯通過。這種學習方法很需要毅力,畢竟當你看着書上的代碼覺得很容易懂的時候往往懶於動手,但也只有動手才能發現各種問題,比如用C++class總是忘了最後的分號,縮進不一致導致少寫一邊大括號,等等。

提前做知識儲備。在學習編程技術的時候,我還提前瞭解了一些編譯器和計算機體系結構的知識,對於我理解程序的運行和性能的瓶頸有了很大幫助。

貴人指路,事半功倍。CSDNJoel On Software等網站上的程序員,他們在博客上無私分享的心得和在論壇提供的及時幫助不僅讓我獲得了知識,也給了我極大的鼓勵,讓我能堅持艱苦的學習。

我和侯捷老師的忘年交

尤其讓我難忘並受益頗深的是臺灣的侯捷老師。當我大二開始學習Windows編程時,無意中訪問到了侯老師的網站,在這裏,我非常驚異地發現,侯老師公佈了他的暢銷書《深入淺出MFC(第二版)》的PDF全文。當時我知道國外有些作者如Bruce Eckel,會把自己的書的電子版無償地提供給所有需要的人下載,但是在國內,尤其這樣一本如此出名的暢銷書,我還是第一次看到作者將全文貢獻出來。我立即下載了這本書,開始隨着侯老師的筆觸進入Windows編程的世界,並大膽地給侯老師發了一封電子郵件表示感謝。沒想到侯老師很快給了我回信,向我詢問大陸尤其是北大的計算機教育方式,並且鼓勵我踏踏實實地打好基礎 ,而不要被層出不窮的新技術遮蔽了視線。我很難想象這樣一位翻譯、寫作的名家在工作繁忙之中能抽空回信,而且態度謙和平易,心裏受到了極大的鼓舞。後來,我跟侯老師聊了我的困惑,包括如何學習計算機,以及如何取捨出國和保研,侯老師則侃侃而談,以自己的親身經歷給出了建議。再後來,侯老師與我在北京見了幾次面,爲計算機系的同學開了一次講座,還饒有興趣地"旁聽"了一節"數據結構"課程,我也協助侯老師翻譯了《C++ Primer》等書籍。不管是什麼形式的交流,侯老師總像個稍微年長的朋友,風趣平和,並且十分樂意把自己的感悟和經驗與人分享,這種寶貴的態度正是我以侯老師爲目標需要繼續學習的地方。

生活需要忘年交

我把年齡相差12~15歲以上併成爲朋友的人稱爲忘年交,基本上指的是與不是同一時代的人交往做朋友。我把與年長於己者交往稱爲上行忘年交,與年幼於己者交往稱爲下行忘年交。

忘年交的價值我稱之爲"縱向經驗突破"。我們一般人多與同年橫向交流經驗(通常那是最爲人樂於或者自然接受的一種模式),而與上輩和下輩之間缺乏自然、平等、放鬆、隨意的交流。這是代際的自然差別效應,同時也導致了代際分隔與衝突。忘年交則在心理上接受與自己有顯著年齡差異者爲平等的交往對象,從而改變了雙方間經驗、信息、知識的差距,增大了交流的信息量並提高了雙方對彼此意見的認可度,因而顯著地減少了矛盾。除此之外,忘年交還增加了對交往對象產生代際文化影響的可能性,沖淡了代溝色彩。

忘年交提出了一個跨代學習模式的問題。忘年交的數量與水平,在一定程度上的確是個人縱向學習能力的一個重要標誌,也是個人親和性與表現魅力的重要指標。

求職之路 定調:結合興趣,目標明確,準備充分,一舉中的

再來談談我的求職過程。從第一次面試,到選定工作Offer,前後只有短短四個多月的時間。但是爲了得到自己喜歡的工作,我從確立興趣方向、進行各種準備到應對面試、最後選擇職業發展道路,付出的時間和精力比這要多出許多。

確立求職目標:IT業的產品經理和管理諮詢業的分析師

整個求職過程中,我一共只投了十家公司:谷歌(產品經理)、微軟(項目經理)和百度(工程師),六家管理諮詢公司及中國移動(產品設計崗)。在年後纔拿到最終Offer的同學中,這算是非常少了,主要原因是我在求職季節到來之前就立下了明確的求職目標,即IT業的產品經理和管理諮詢業的分析師,並且針對這個目標進行了充分準備。

爲求職目標做好各種準備

針對不同的職位,我分別做了不同的準備。

1. 針對技術職位

1 越早準備越好。我在面試的半年前就開始做知識回顧和儲備。

2 複習基礎知識,主要包括:算法、數據結構、操作系統、體系結構等。此外,對於互聯網公司離不開的網絡以及分佈式系統的相關知識,我也會特別關注。

3 複習的方法。

a. 回顧基本理論;

b. 動手寫代碼,尤其是基本的數據結構和相關算法,一定要動手寫出來並編譯通過。原因是,一來面試常常會面試到基本數據結構的細節,或者從基本數據結構出發,要求做出改進以滿足一些特殊條件;二來即使如刪除鏈表頭節點這樣簡單得不能再簡單的操作,如果不熟悉,在實現上也容易發生錯誤。

推薦閱讀:《編程之美--微軟技術面試心得》。如果能把這本書裏一些題目的來龍去脈搞清楚,面試數據結構和算法方面的題目時會有更強的底氣。

c. 要關心實際系統。《程序員》雜誌和CSDN網站經常會有實際的大型網站架構分析文章,關注這樣的實際系統能夠加深對分佈式大型系統的理解,對於面試很有幫助。聽說博文視點會組織出版系列大型網站架構分析方面的圖書,值得關注。

2. 針對產品經理職位

相對技術類"靠硬本事吃飯"的職位,產品經理的評估指標更加軟性一些,相對也不容易特別有針對性地準備。我做的準備主要包括:瞭解IT產品經理的工作,增強對產品和行業的瞭解,鍛鍊邏輯思維能力,提升英語聽力與口語水平。

去微軟實習,切身瞭解IT產品經理的工作,確定自己的選擇。

當我開始考慮自己適合做程序員、產品經理,還是項目經理時,我對PM的瞭解還僅限於師兄們口口相傳的一些"軼事"。爲此我申請了微軟Office 部門的項目經理實習,親身體驗了PM的工作。與工程師的工作相比,PM的工作需要面對更多的不確定性和模糊性,如何將模糊而不確定的事情制定成明確的目標,這是PM工作中最具有挑戰性和最有趣的地方。我的工作是協助提高一個SDK產品的可用性,首先需要決定如何度量和測定可用性。爲了解決這個問題,我查閱了大量的資料,並和微軟的多位專家進行了多次溝通和交流,最後成功地完成了任務。在這個過程中,我曾因爲完全沒有頭緒而壓抑苦惱,但找到合適的解決方案給我帶來的快樂和成就感更大,讓我在工程師和 PM職位之間做出了明確的選擇。

自己給自己一次次出題模擬面試,增強對產品和行業的瞭解。

申請產品經理的職位自然要對產品和行業非常瞭解,爲此我很早就開始廣泛地關注和嘗試新的互聯網產品。我關心的產品不僅包括谷歌、雅虎等互聯網巨頭的大部分服務,還從TechCrunchWired等網站上瞭解到硅谷最新的產品和服務。當然,瞭解只是第一步,之後我會花更多的精力來思考很多問題,比如:這個新產品解決了什麼問題,這個問題以前是否存在,是對所有人都存在還是隻針對部分用戶,如何發現這個問題,還有什麼問題沒有解決,等等。這樣的思考過程有時候很艱難,但是每一次思考都是對自己的磨練,也相當於一次模擬面試。

通過準備諮詢業的案例面試訓練邏輯思維,尤其是結構化思維。

邏輯思維的訓練是在準備諮詢業的案例面試中獲得的副產品。諮詢行業是以觀察和推理來得出問題解決方案的行業,對邏輯嚴密性要求很高,多瞭解一些相關的知識和方法,能夠幫助我們訓練思維和表達。例如,諮詢行業常用的框架,如4C4P等,有助於我們形成結構化的思維模式;而根據其更重要的分析原則,如MECE(不重複,不遺漏),則能讓我們脫離框架的機械化思路,根據實際問題進行有條不紊、邏輯嚴密的分析和論述。

堅持長期訓練,堅持有針對性的訓練,闖過英語關。

對於外企中需要與人大量溝通的職位,英語太重要了。沒有順暢的理解和較爲流利的表達,很難想象我能順利通過七輪以英語爲母語的考官的面試。英語的訓練是個長期的過程,但如果找一個水平較高的語伴堅持完全用英語交流,加上有針對性的練習(比如,用英語回答我上面提到的關於產品的問題),在較短時間內達到英語面試要求的水平是很有可能的。

簡歷不是寫出來的,是改出來的

好的簡歷:形式上美觀大方,清晰明瞭;內容上充實有料,主次分明,針對性強。

1. 如何解決形式問題

使用合適的模板。模板只有一份,但是,針對不同的職位及個人經歷,應該對模板進行適當地修改,使之適合目標職位的具體要求。比如:

1 針對IT職位,可以將"工作經驗"換成"實習經歷""項目經歷"

2 "個人信息"換成"職業技能",填寫自己熟悉的計算機語言和獲得的認證,等等。

3 要申請外企經管類的職位,"課外活動""交流活動"則是必不可少的要點。

另外,每個人的情況不同,要根據自己的經歷和特點來修改簡歷模板。例如,學術上成果比較多的,可以單獨加一項"專利論文",而獲獎學金獎勵多的,也可以單列出來以突出。

2. 如何解決內容問題

簡歷更重要的是內容。

1 內容要能體現求職者的能力和經歷,滿足目標職位的需要。這就要求我們仔細地挖掘相關的經歷,並加以適當的總結和提升,最後用書面化的語言表達出來。

2 內容應該能反映出作者訓練有素的邏輯思維。注意:一段經歷需要有三到四個要點來支持,重要的就在於如何選擇幾個要點的內容,以及如何對它們進行排序。一般而言,可以選擇如下兩種策略:

a. 第一種,首先簡明扼要地說明是一段什麼經歷,然後用一到兩個要點來說明自己(注意!不是項目組)具體完成了哪些工作,最後一個要點說明工作效果或自己的收穫。

b. 第二種,對於事情多且雜的經歷,應該選取最具有代表性的事務,按照其重要性遞減的次序分別描述出來。

即使針對同一類型的職位,我的簡歷前後經過不下數十次修改,小到把中文逗號改爲英文逗號,大到增刪一段個人經歷,目的只是爲了使得簡歷更加符合僱主的需要,順利通過求職第一關。

我的面試故事

第一回  面試百度︱研發工程師

9月底,我的第一次面試是應聘百度Web新產品部門的工程師。

當天共面試了兩輪,一週後加一輪經理面之後就順利拿到了Offer。百度的技術面試一向難度不小,但幸運的是,一面的面試官雖然年輕,卻很有面試經驗。他從幾個簡單的問題開始入手,逐漸加大問題難度,給了我充分的時間來給大腦熱身。

【劇透與面經】

該部門的面試題特點:跟實際系統結合得很緊,分佈式系統的題目很多。由於熱身充分,等到真正的難題出現的時候,我已經能夠放鬆緊張的神經,全力思考問題的各種解決方案,評估方案的優劣,並試圖優化方案,比較順利地解決了大部分問題--這也告訴我們,遇上一個有經驗的面試官是多麼的重要。成功的面試是考官和被面試者雙方共同的成功!面試官也很滿意,諮詢我的意見後,直接叫來另一位工程師進行第二次面試。

值得一提的是最後的經理面,提的第一個問題竟然是:"你在前面面試中有哪題沒回答上來,回去後是否思考了,答案是怎樣?"這題看似沒有問新的問題,但它直接考察了求職者是否具有積極學習和孜孜求解的態度,如果抱着考完拉倒的心態,估計很難讓這位經理滿意。

技術面試中很難保證不碰到難題,在不能立即回答出最優答案的時候,需要使用一些面試技巧來應對。我的經驗是分四步走,即理解題目、原始算法、優化算法、複雜度/ 性能分析。首先要確認問題的細節,通過跟面試官的溝通來徹底理解題目要求和限制條件等。然後,在最短的時間內提出自己的原始算法,並進行計算複雜度分析,如果是系統設計,則進行系統性能以及優缺點分析。一般來說,原始算法很容易想到,但幾乎不是考官需要考察的最優解。因此,應該利用理解題目和描述原始算法的時間,腦子裏積極開動腦筋,通過聯想類似的系統或問題的解決思路,快速形成優化算法的基本思路。在提出優化算法之後,還應進行複雜度和性能評估。

第二回  微軟︱項目經理

11月下旬,我參加了微軟MBDC部門Office組的項目經理面試。由於在微軟做過項目經理實習生,因此我熟悉公司對PM的要求,因此面試得比較順利,一個下午連續接受四位項目經理的面試,大約耗時五小時。

【劇透與面經】

面試主要圍繞着產品設計和項目管理展開,考察應聘者是否具備開闊的思路、對產品開發流程是否理解及對產品進度是否能夠掌控。例如,有一位面試官問到了如何對待產品Bug的問題。這個問題考察你是否理解Bug解決的代價、可能帶來的風險,以及在不同的產品開發階段應對Bug的不同方式。如果簡單地回答解決Bug,那說明對產品開發的經驗和理解太過欠缺,也說明思考問題不夠全面,不適合這個職位。就我看來,這些要求,恰恰體現了微軟作爲全世界軟件(狹義的軟件,區別於互聯網等)業老大所最擅長和最看重的特質:穩定壓倒一切。

第三回  谷歌︱助理產品經理

從去年10月份到今年1月份的四個月期間,我參加了谷歌助理產品經理的職位申請。產品經理是谷歌一個非常特殊的角色,一個產品除了開發和測試之外的事情,基本都由產品經理主導。其中最重要也是最令人激動的是產品功能設計,也就是說,你對產品功能的任何合理的想法,都可以在產品經理這個平臺上得到實現,最終被全球數以億計的網民使用,改變他們的生活!這樣的影響力是吸引我的最主要原因。另外,足夠大的學習平臺、世界水準的開發團隊和優良的工作環境與待遇,也使我心嚮往之。

【劇透與面經】

助理產品經理是面向工作經驗兩年以下的產品經理申請者的一個爲期兩年的培訓生計劃,工作內容與產品經理基本一樣。也由於產品經理的重要性,谷歌這個職位的招聘流程非常之長,先後面試過我的人一共超過10人次,面試官涵蓋了從普通產品經理到負責搜索產品與用戶體驗的全球副總裁,所以,需要得到自上而下各個層級的同事的認可,才能拿到這個工作機會。

在面試過程中,面試官既考查了產品具體特性、設計能力及對技術的瞭解,也看重創造性、個性,以及對產品和行業的理解。既有比較細節的產品設計問題,又有一些與產品設計、與互聯網、與軟件甚至與IT業都完全無關的問題,但這些開放性問題卻能考察求職者的個性、邏輯思維與表達、創新性,以及對互聯網領域的理解。

興趣是我全身心工作的基礎

對不少人來說,第一份工作可能就決定了以後的職業發展道路和生活方式。因此,選擇目標職位和Offer其實比面試更爲重要。

對比工程師和PM實習經歷,我發現了自己的如下特點:

喜歡做較高層的思考勝於具體實現,相對於很多技術天才關心"怎麼做"並從中獲得極大滿足,帶給我更多快樂是"做什麼"的問題;

IT新產品、新特性有着莫大的興趣;

常常換位思考,試圖從管理層、開發者和用戶等不同角度來看待一個產品;

在技術工程師中具有溝通優勢,在管理人員中具有技術優勢。

這樣,我發現了自己的興趣和"比較優勢"--也就是我的藍海,同時也就明確了自己的求職目標。這些結論若非通過親身體驗,是很難從別人口中得到的。另外,不同公司的PM職位性質和內容都不盡相同,因此我會通過搜索引擎詳細地瞭解我關心的公司對PM的要求,並從中選擇自己最適合的職位。

選擇Offer的時候,在管理諮詢師和產品經理之間,我考慮的因素主要包括以下(按重要性降序):

個人興趣;

學習發展機會;

平臺及其影響力;

生活方式和待遇。

第一重要的是興趣,對我來說,興趣是我全身心工作的基礎,也是成功的必要條件。

我很看重薪水和生活方式,但我沒有把它放在第二重要的位置上,因爲我更看重的是五年後、十年後的薪水,而不是起薪。有一位師兄跟我說過,對於事業起步的年輕人而言,決定未來薪水的,就是你能在這份工作中學到什麼,以及擁有這份工作後你能積累什麼作爲以後的資本。我非常認同這樣的見解。因此,我把學習和發展的機會放在了僅次於個人興趣的位置上。

企業是個人發展的最主要平臺。平臺的好壞不僅由其大小決定,也在於個人是否適合平臺的整體文化和氛圍。即使在同一行業中,不同公司的文化差異也是很大的。谷歌相對寬鬆的氛圍和鼓勵創新的文化正是我所追求的,我相信這樣的文化能夠有助於我發揮潛能。

結語:騎單車快樂向前

回顧自己大學本科和研究生的七年,不同的階段有着不同的目標。不管是學習基礎、鑽研技術還是找工作,當自己的方向與目標存在偏差,或者向着目標前進的速度不理想時,我總會想方設法地拷問自身,從朋友身上獲得經驗,對自己做出調整,然後避開彎路,更加接近自己的目標。工作之後是一個新的起點,有着新的目標,我希望自己能夠繼續適應新的環境,也希望所有看到這個故事的朋友都能在學習、生活中不斷地校正自己的方向,騎上單車快樂地向前。

 

四、唐雅薇 再難也要向前爬

等待陽光靜靜看着它的臉

重重的殼掛着輕輕的仰望

讓風吹乾流過的淚和汗

總有一天我要屬於我的天

--周杰倫《蝸牛》

引子:我是普通女生

首先要說明兩點:我是女生,我不是牛人。引用一個朋友的簽名檔:"用了20多年,生活只告訴了我一件事情:我只是一個智商正常、耐力一般、身體湊合、相貌平平的最一般的人。"

本科四年 定調:把握自己,向往外面的世界

我本科來自中國地質大學(武漢),學習的是地理信息系統專業。算是勉強能和計算機夠得着一點邊兒吧。

前傳:一直都是乖乖女

其實我打小就不太擅長學習理科,在我念高中的時候,我的語文,地理、歷史學得特別好,而數學、物理、化學總是讓我覺得很頭大。我當時覺得,就這麼一直把文科學下去是一件多麼理所當然的事情啊。眨眼到了文理科分班,按照我的興趣,我非常希望選擇文科作爲我的起點,但是家裏的親戚們聽說了要分文理科,就輪番打電話給我,對我進行了一番規勸,言語各不相同,但總體思想就是:"學理科我會後悔三年,學文科我將後悔一輩子"。我是一個典型的乖乖女,雖然心裏不願意,但我想,長輩們走過的路比我走過的橋還多,聽他們的話總歸是沒錯的,所以最終選擇了理科。分班後第一次班級報到,幾個要好的姐妹看見我驚訝極了,對我說:"唐雅薇,你怎麼來理科班了?我們都以爲你選的是文科呢!你的文科學得那麼好!"面對她們,我也只是笑笑,什麼都沒說。

接受家裏的安排也不是第一次了,又有什麼好說的呢?那個時候的我,是一個不太有主見的人。就這樣,我帶着強烈的抗拒而又迷茫的心理開始了我的理科生涯。三年後,我勉強考上了大學,再一次面臨了專業的選擇。本科的專業也是我父母選的,理由是:"打聽過了,這個專業好。"聽着父母的話,我也就是跟着點點頭。至於更具體的,比如:"什麼是地理信息系統?""地理佔多大比例,信息系統又佔多少比例?""這個專業好在哪裏?"我一概不知,至於和IT的關係,更是一點概念沒有了。這個專業對我唯一的一個意義就是:我又聽說了一個沒聽過的名詞,而且,它將成爲我的職業起步。

初入大學:努力追趕,我只比你們慢三年

高考的失敗把我一棒子打醒了,我覺得自己不應該再像高中那樣渾渾噩噩下去,既然已經走到了理科的陣營,就沒有回頭路了,至少在短時間內是沒有了。難道一直這樣抗拒下去嗎?我想,即使是理科的內容,也應該能學得更好吧,而且,這已經不是高中了,現在的專業是我將來的飯碗啊!於是我下定決心開始好好學習。在同學們轟轟烈烈地投入到美好的大學生活的時候,我則在教室裏惡補着各類基礎知識。經過一年的惡補,我終於跟上了大學班上同學的腳步,同時也終於明白了我這個專業到底是幹什麼的,以及它和計算機的關係。

或許大家會問,你這不是相當於是科班出身嘛。坦率地說,我本科學習的專業課程是相當雜的,製圖、計算機、軟件、GPSRS,甚至是測量,各類和GIS沾邊的專業課都要學。所以這個專業真正和計算機相關的內容只佔計算機系課程的很少一部分,不精,也不深。像軟件工程、體系結構、編譯原理、算法,這些就更接觸不到了。

雖然學習的內容很雜,但是我還是對這個專業持有一定的興趣,並且,我不希望自己再次成爲班級的尾巴,所以一直非常認真地在學習,說出來可能大家不會相信,我大學沒有逃過一節課,作業都是自己做。而這一切最原始的動機是:我深知自己基礎太差,其他同學已經獲取的知識,我沒有,其他同學可以自學的知識,我不能。

大二的時候,我參加了許多社團活動,認識了很多牛人,他們會經常在我面前暢談自己的理想和抱負,以及對未來生活的種種期待。聽着他們高談闊論,看着他們自信的眼神,我意識到,自己的世界實在是太窄了。就在那一年,我給自己定下了一個目標:不管用什麼方式,不管付出多少努力,我一定要走出去看一看外面的世界,我要和他們一樣,活得暢快而精彩。

考研•讀研 定調:起初迷茫,但思考之門已開,行動更加迅速

放棄保研:我要自己做主

大四上學期,我獲得了一個保送本校的名額。父母和親戚知道後開心極了,紛紛打電話來向我祝賀。而我卻怎麼也開心不起來。我已經不是高中的我了,在大學的四年,我親眼目睹別人活得多麼精彩,反觀自己,覺得很不甘心。我是高校子弟,從小到大都在這個學校,一旦保研,接下來很可能是在本校讀博,然後留校、教書,就此在這個學校待一輩子。誠然,成爲一名大學老師,在很多人眼裏是一個相當好的歸屬,家人也這麼認爲。可是每每想起我將在這裏窩一輩子的時候,我的心裏別提多難受了。

我不想過這樣的生活!我要做出自己的選擇!經過一番慎重思考,我告訴家人我決定放棄保研,自己考。他們聽到後驚訝極了,於是家裏又上演了我高中文理分班那年的電話攻守戰場景。只是這一次我的態度十分堅決。媽媽很擔心,但我告訴她:"失敗,也是我的選擇,如果失敗了,我就去工作。我真的不想再待在這個院子裏了。"

我的志願是武漢大學的一個重點實驗室,武漢大學是名校,我想,在名校生活,我就是睡着覺也一定可以進步。儘管我努力複習,但是那一年我所填報的招錄單位名額驟然減少了很多,分數線陡然提高,我果然如我媽所言,失敗了。

考研失利,調劑不放棄:去名校學習,睡覺也能進步

考研失敗後,我聽說北京大學軟件與微電子學院在招收調劑生,條件是隻發單證(只有學位證,沒有畢業證)。思考了很久,我決定去試試看。當家裏聽說只發一個證的時候,又是一陣"腥風血雨"。因爲在此之前,我獲得了北京另一個學校(不是特別有名)的調劑名額,雙證齊全,學費低廉,還有補助。家裏覺得,作爲一個女孩子,還是各種證件齊全一些比較好,等到需要的時候纔不會手忙腳亂。可是當時的我卻不這麼認爲。我覺得,雙證齊全是很重要,但是爲了一個研究生證去一個我不喜歡的地方待三年,這樣的代價是不是太大了?我不要爲了一個證而去念書。而且,我一直覺得,在名校生活,我就是睡着覺也一定可以進步。和那麼多的優秀人才一同學習,這是多麼吸引我的事情!而且我還可以轉雙嘛!要是成功了,不就是兩證齊全了嗎?

帶着賭一把的心情,我來到了軟院。開始了一個嶄新的旅程。

剛來這裏我就面臨了很現實的問題:專業背景不符。我調劑過來的專業是軟件工程,主修軟件開發。不是我想要放棄原來的專業,而是實在沒有多少選擇空間。我原本以爲自己也算是半個IT人了,應該能夠對付這些事情,但是來了之後才發現,和那些從文科專業調劑過來的純跨專業的人比,我也只是比他們多知道些C語言和數據結構的基礎知識,而且我也只是個半吊子。真正的IT世界,我只是剛剛打開一道門而已,可能連門都沒打開,只是摳開了一個門縫,從縫裏向IT世界裏瞅了瞅。

也正是由於這個原因,剛開始的第一年顯得尤爲艱難。我們的課業任務很重,老師上課的時候會缺省認爲學生學過"編譯原理",學過"軟件體系結構",但是這些專業課我並沒有學過,只好私下裏惡補。那會兒每個人還要承擔課程項目,給我惡補的時間少而又少,所以壓力很大。而且軟件學院身處大興,是一個偏僻的小角落,本來就沒有什麼豐富的業餘生活,而身邊的同學們又無時無刻地談論技術,這讓我覺得很受不了,而更讓我覺得難受的是,同學們討論的技術話題大部分我都聽不懂,在他們面前,我就是個徹底的外行。同時在第一年,我還在轉雙,每天奔波在課堂和自習教室之間,在惡補計算機知識的同時還要時刻保持着對研究生考試內容的溫度……

但這些並不是讓我覺得最難熬的地方。隨着對IT行業瞭解的深入,我發現我對IT行業沒什麼感覺,我不討厭它,但僅此而已,並沒有達到那種很熱愛的程度。我開始對我的未來感到相當的迷茫,這讓我非常苦惱。繼續以前的專業已經不太現實了,但是,作爲一個女生,我在IT領域的優勢是什麼?作爲女孩子,如何在IT領域更好的發揮自己的優勢?這些我並不清楚。

但是對於要不要入行,入行以後怎麼辦,我有些自己的思考。

1. 對於跨專業入行的同學,請問自己幾個問題:

1)我真的瞭解這個行業嗎?這個行業值得我放棄原來的專業嗎?

2)我以後想成爲怎樣的人?這個新的行業真能幫助我成爲這樣的人嗎?

2. 如果已經入行,還是應該將技術本身掌握得牢一些。只要還在IT混,技術這道關是繞不開的。你可以做的也很多,例如選課的時候,多諮詢師兄師姐,並結合自己的需要來選,這樣纔不會花冤枉錢。

我是一個目標驅動型的人,一旦目標明確,認準某種事情,會一直努力下去從而達到目標,但是對自己懷疑的東西,就不會那麼有動力。所以在這三重壓力下,我轉雙失敗了。但是由於很多師兄師姐都跟我說單雙證差別不大,因此我也沒有過於在意。每天的生活還是上課、學習,對於本碩專業不同的鴻溝,我也是本着"既學之則好之"的原則,盡我最大的努力去填平。但是,我將來能幹什麼?怎麼才能從事到能發揮我特長的職業?對於這些問題,我一直沒有停止過思考。

實習之門 定調:有淚有歡笑,心智更成熟

我和IBM的三次邂逅

--想說愛你不容易

第一次邂逅

倉促的實習準備

已經是4月份了。同屋兩個女孩接連拿到了不錯的Offer。當時的我本來就對自己的能力充滿了各種各樣的懷疑,現在看到同屋的姐妹們都順利找到了實習,我開始着急了。在這種錯誤的焦慮心態下,我一通狂投,但迴音寥寥。我越發覺得壓力大了,投簡歷比以前更加瘋狂了,到最後幾乎是個實習就投。沒有任何調查,沒有任何考慮。在這種焦慮心態下,我對簡歷本身也沒有下太多功夫,顯然,這樣是沒什麼結果的。

8月初,我得知IBM中國研究院的一個項目組在招實習生,於是我投了簡歷。幾天之後我得到了面試通知。拿到面試通知後,我瘋狂地複習了兩個星期,心裏相當緊張。同時,我還諮詢了好些已經拿到Offer的同學,當時所有人都跟我說面試IBM很容易,談談項目一個小時很快就過去了,不會很難。聽了他們的話,我心裏有了底。

預料之外的面試

面試那天我精神飽滿地踏進了IBM的大門。面試官相當和善。我掏出了簡歷,心裏暗自醞釀着該重點介紹哪個項目。可還沒來得及給他,他就遞給我一張紙,對我說:"把上面的算法做了吧,上機實現。我給你兩個小時的時間。"我當時就愣在那裏了,我在心裏預想過千萬次面試的場景,可是萬萬沒有想到會是這樣的。好像其他同學找實習的時候很少有上機的呀。但是既然已經來了,就硬着頭皮上吧。

可是真正坐在電腦前的時候我的大腦還是一片空白。後來我實在是急得不行了,就偷偷給GG打電話。他安慰我說,這會兒千萬不能緊張,你要是做不出來,可以給面試官講思路,很多面試官看中的是解題思路而不是編程的結果。聽了他的話,我定了定神,回到了機器旁邊。兩個小時後,我就和面試官說了說解題的思路,給他看了看我的代碼,看上去他還挺滿意的。

在經歷了兩個星期漫長的煎熬等待後,我終於等來了IBM的實習Offer,拿到Offer的時候我相當興奮,因爲這或多或少證明了我的能力。我的自信心得到了極大的提高。

高興歸高興,但是對於這份實習本身,我是相當"稀裏糊塗"的,完全不知道那個組乾的什麼事、用的什麼技術、Mentor帶實習生的風格如何……種種關於這份實習的實質性的內容,我一概不知。當時的我也根本沒有意識去調查,只是覺得自己好不容易找到實習了,一定要抓住機會。

被動的實習過程

在盲目的開心中,我帶着種種美好的憧憬開開心心地入職了。我的Mentor並不是面試我的人。簡單的自我介紹後,她把我帶到一個會議室,拿出一張紙說,你的任務就是把這個算法實現了,我們要用在我們的系統裏。我接過紙,一頭扎進Lab開始鑽研,心想一定要好好寫,開個好頭,給Mentor一個好印象。由於算法和系統非常複雜,而且我對系統的其他部分不瞭解,也沒有文檔說明,於是花了三天把算法完成(包括調試),但是Mentor還是責怪我花的時間太久了。當時的我覺得很委屈,但我想,自己來實習就是學東西的,Mentor說我做得慢了就一定有她的道理,我還是要虛心接受才行。

後來我才發現,我的Mentor是一個完美主義者,凡事求好,而且越快越好,這樣的帶人風格對於菜鳥級的我來說,顯然是不合適的。我後來又做了幾個小項目,所用的技術是我完全不熟悉的,有的連聽都沒聽過。Mentor是個智商非常高的人,但她習慣以她的標準來衡量我,給我的學習時間通常很少。我初入職場,表現得戰戰兢兢,明知時間不夠也不敢說,通常是硬着頭皮就開始做了。本來領域知識就薄弱,項目的前期學習又嚴重不足,結果開發時間總是不夠,每天工作都很辛苦,幹到夜裏12點多,早晨7點剛過又爬起來上班了。但比起辛苦,最難受的是幹得被動,這種被動又導致Mentor對我的不滿,施加的壓力也越發大了。雖然最後項目做出來了,自己也覺得項目做的還不錯,但是Mentor就是覺得我做得不好,覺得代碼質量不高,覺得慢。在這樣的情況下,我逐漸達到了心理和生理崩潰的邊緣。三個月後,我決定離職了。

我哭:第一次實習失敗了

就在我準備向Mentor提出離職申請的時候,Mentor主動找我談話了。那天,她把我叫到一個小會議室,對我說:"唐雅薇,你回去把項目的文檔好好寫一下,然後看看有沒有別的實習機會吧。"我愣了,這不就是宣佈我下崗嗎,聽了她的話,我什麼都沒說,Mentor見我沒大的反應,就出去了。她前腳剛離開會議室,我就開始嚎啕大哭,連日來的辛苦、被動、壓抑……各類委屈一起涌上心頭。

哭完之後,我回到Lab寫了文檔,然後收拾了一下,回到學校。

第二次邂逅

回到學校後,我十分沮喪也感覺到十分丟臉,開始重新質疑自己的IT能力。就這樣在宿舍頹廢了兩個星期,一份新簡歷都沒投。一方面我想休息一下,另一方面,我實在是失去了再戰的勇氣。兩週之後,我覺得不能再這麼頹廢下去了。我對自己說:"再給自己一個機會吧,試一試,勇敢點。"於是,我又重新開始了尋找實習的旅程。

同樣的失敗,我決不讓它重來

吃一塹長一智,這一次我沒有急着投遞簡歷,而是仔細回顧了第一份實習的經歷。那會兒我最大的感觸就是"被動",這種"被動"固然和Mentor的性格有着不可分割的聯繫,但我自己也要負相當一部分的責任。對於這份實習,我沒有做任何的調研就去了,感不感興趣倒先不提,甚至連是否適合自己都沒有弄清楚。學習的東西和自己所擅長的嚴重不符,學習起來又發現沒有多大的興趣,更不懂得勇敢地爲自己爭取多一些的學習時間,這些都是我的失敗之處。

這些失敗,我決不讓它再重來一次

新一輪的實習簡歷投遞之前,我重點關注了所招職位的技術要求和項目介紹。不巧的是,我這回投實習是在青黃不接的時候,大公司開放的職位非常少,所以,連着大半個月,我都沒有找到實習,不過由於經歷過一次失敗的實習,我已經感受到了着急的代價,所以當時心態還好

我笑:自信回來了

某天,一個同學告訴我IBM CRL的另一個組在招實習生,要求有地理信息系統和軟件開發的背景。我覺得有些彆扭。但是,現階段沒有多少實習機會,像這種比較適合我的更是少而又少。我說服自己說,爲什麼不先去試一下呢?於是在詳細瞭解了那個組的情況,並對簡歷進行了修改之後,我投遞了簡歷。一番面試之後,我得到了這個實習機會。我心裏很猶豫,一方面,我不知道如何面對原來的Mentor,另一方面,我實在是覺得這是個很好的機會。我想,我不能夠再逃避了。於是,收拾了一下心情,我去上班了。

新的座位還是在原來的Lab裏,剛來的頭幾個星期,我都躲在我的小角落默默編程,生怕被原來的Mentor看見,直到後來她發現了我。我們友善地打了招呼。突然間我覺得,從前的不愉快都已經過去了。

新的實習由於比較符合我的背景,幹起來一點不被動。由於專業相關,即使是學習新的技術,概念的共通性也使我不覺得學習新東西的過程很吃力,加班的現象自然少了很多。新組的氛圍也很好,同事之間關係很融洽。

這份實習一共持續了近七個月。失去的自信也慢慢地回來了。

兩次出入CRL,我認識到不管幹什麼,一定要找適合自己的東西,對要乾的事情要所有了解,纔不容易被動。不過這也有一定的壞處,特別是在實習期。實習的主要目的是學習,如果總是做自己擅長的事情,就容易把技術限制在一個範圍內,對拓展視野不利。但是,只憑激情去挑戰自己的不熟悉的領域,也不是特別好,還要講究技巧纔是。我的第一次CRL之旅就給出了慘敗的例子。

第三次邂逅

我覺得緣分是一種很奇妙的東西,它總是在不經意之間顯示出它的力量。至少在實習結束之後,我以爲我和IBM緣分就此止步,但事實遠非如此。

20089月,我開始了求職之路。12月中旬,由於個人原因,我最終將求職目標轉移到上海。可我一直沒投過上海的職位,而此時招聘的黃金時期早已過去。

說到這裏,不得不提到軟院的優勢。軟院鼓勵大家實習,而同學們實習的單位五花八門,大部分的主流公司裏面都有我們的師兄弟,這樣,我們可以從內部獲得第一手的招聘信息,同時,還可以通過他們打聽到招聘職位的基本信息。

於是,我開始在同學們之間打聽上海公司空缺的職位。一個同學告訴我上海IBM最近開放了一個名額,問我是否有興趣。由於時間緊迫,我大概瞭解了一下情況就請同學推薦了。過了幾天,那個部門和我預約了電面的時間。

面對面,讓我拿到這個Offer

這次電面是我經歷過的最正規的一次電面,電話那頭有三個人,各自負責了不同的部分,他們的問題主要從簡歷出發,然後根據一個點逐漸深入。過了幾天,上海IBM的電話又打進來了。HR說,可以有兩種方法繼續下面的環節,一是繼續電面,二是我親自去上海跑一趟,我想了想,選擇了後者。我不是隨便做出這樣的選擇的,之前的一個姐妹告訴我說,他們公司以前電面過一個外地學校的大牛,實力非常強,一至三面雖然都是電面,但卻是一路綠燈,但是Manager面試給否了,Manager給出的理由是:"No show"

我心想,面對面可以讓Manager對我有直觀的認識,而且在尷尬的時候至少可以笑一笑緩和氣氛嘛……所以還是親自去一趟比較好。只是開銷大點,不過能用小錢解決的問題都不是問題,拿到Offer纔是王道。

或許是心理狀態比較好,加上之前積累了很多面試的經驗,再或許是我親自出現的行爲也給自己加了分,整個面試的過程都很順暢,上午開始面試,中午就給我發了Offer

在發Offer的時候,Manager問我會不會拒掉這個Offer,我並沒有給她一個肯定的答覆。因爲我的心裏有猶豫,並不是因爲怕現在簽了,以後會失去更好的機會,而是因爲那會兒我並不十分清楚這個組是幹什麼的,我怕重蹈覆轍,再犯第一次實習的錯誤。回來後的一個星期內,我所有的工作是通過各種渠道瞭解這個組,得到的結論是:這個組還不錯。我在這裏可以鍛鍊交流能力,也可以看到產品全貌,還可以鍛鍊開發能力,這些技能都符合我的職業規劃。

至此,我的找工作歷程也就塵埃落定,我和IBM也締結了更加長久的緣分。

我的實習心得

實習的時機。實習密集期集中在456月份,暑期實習,4月份以前比較少,11月、12月會有一次,而8910月份不會有太多實習機會。

實習的方向。建議多找工程性的實習項目。雖然這些地方很難有機會看到所謂的"未來的技術,思想的火花",但是這裏能練到紮實的基本功。

實習怎麼做。實習的時候不能只憑激情,剛去的時候大家都有激情,這時靠的是踏實和認真思考。等到大家幹累的時候,這時拼的纔是激情。有困難要及時提出來,不要怕。害怕的後果只是讓自己越來越被動。

求職之路  定調:不打無準備之仗,但準備還是不足

找準個人定位:邁出求職第一步

不得不提的是我找工作的經歷。尤其是在金融危機的大環境下。

9月份,摩根的宣講會宣告了我找工作歷程的開始。摩根的宣講會相當不錯,聽了之後我就告訴自己一定要加入好公司。不過不管加入什麼樣的公司,投簡歷始終是第一步。

有人說,找工作要海投簡歷,以增加命中率。我又想起第一次找實習的時候,就是因爲海投,沒有針對性,才落得個失敗而歸的下場。一個朋友告訴我,找工作就如同婚姻,一定要找到適合自己的,千萬不能海投,到時候一個你不喜歡的公司給了你Offer而且還逼籤,你喜歡的公司又遲遲沒有迴音,這個時候是籤還是不籤呢?與其那個時候痛苦,不如從一開始就選擇好目標。而且,找工作和實習不同,實習不喜歡可以走人,但是工作是不行的。可見海投並不好。可是投什麼好呢?一個簡單的答案是:選擇自己喜歡的,選擇適合自己的。

答案簡單,但現實中卻沒那麼容易。相信很多同學都和我一樣,並不清楚自己真正喜歡什麼。第一份實習結束後,我曾認真思考過自己的未來,研一時對自己女生角色定位的迷茫又重新回來了。那會兒在求職網站上看到的職位只有開發、測試,還有一些則是搞研究,我當時就想,當研究員哪是我乾的活呀。不過我又能幹什麼呢?難道我要寫一輩子Code嗎?這是我想要的生活嗎?自己的職業道路究竟該怎麼走?沒想清楚這些問題,我不敢貿然投遞簡歷。不是不敢嘗試,也不是害怕試錯,只是我覺得,人的精力有限,校園招聘的機會又是如此寶貴,我不可以把有限的精力浪費在無意義的職位上。

調研很重要:確立大方向

在修改簡歷的時候,我突然回想起自己曾經在一門課的小組項目中扮演PM的角色,並率領小組拿到了第一名。這裏的PM,究竟是不是一個我可以走的方向呢?於是,我開始對PM這個職位進行調研,因爲我發現,每個公司對於PM的需求、職責都有區別,有些我喜歡,有些我則沒太大感覺。在調研中,我儘量去了解每個公司的PM的定義,瞭解各類PM對技術能力的要求程度,以及對溝通能力的要求。

一番調研之後,我心裏有底了。我開始對我要投遞的公司和職位進行類別劃分,並分析了優缺點:

 

 

劃分好之後,我開始給每個職位做記錄,並就每個職位分別寫簡歷。就這樣,我投遞了我的第一批簡歷。事實證明,我的這些前期調研和有針對性的修改很有效。我的簡歷通過率很高,只要是自己研究調查過的職位,基本都有迴音。

雖然心裏大致確定了PM爲自己的一個發展方向,但總還是覺得有些不踏實,思前想後,我才發現,我對自己的這個發展方向其實想得並不透徹,比如:我究竟有哪些特長符合這個方向?除了這個方向,我的特長是否可以帶領我走到別的發展道路上?如何將特長更好地和我的技術背景結合起來?如果選擇了一個方向,未來會是怎樣的?這些我都不是太清楚。

在這裏,我要感激一個人,她是微軟的郭蓓菁女士,是她回答了我心裏最後的疑問。

未來會怎樣:與郭蓓菁女士的親密接觸

我去參加微軟"2009校園招聘宣講會"時,看到海報上關於郭蓓菁女士的文章。她是微軟資深PM,她的魅力在於,她幹任何事情都目標明確,而且事業和家庭生活有着很好的平衡。

另外,在這篇文章裏她講了怎樣才能成爲一個好PM,都有什麼素質要求。看了這些文字,我當時就覺得有人在我的腦子裏拍了一下。醒了!宣講會一結束。我就往講臺衝,攔住了正欲離去的郭蓓菁。我告訴了她我的苦惱,問她覺得女生在IT行業的優勢是什麼。她說,女生溝通能力好,表達能力通常也很強,適合PM的職位。我告訴她,我想做PM,但是今年光景不好,競爭很激烈,我如果成爲不了PM怎麼辦?郭蓓菁笑了笑,回答我說:你在找工作的時候找一些比較包容的公司,去了後就和Mentor談職業規劃,讓他幫你安排一些適合這個目標的工作,雖然可能久一些,但是可以"曲線救國",可以達到你的目標。

女士的話彷彿給我點了一盞燈,我心中的疑惑被解開了。

經過這次宣講會,我的目標更明確了。我調動了一切可以調動的資源:在互聯網上查找、在同學之間詢問。我知道自己已經開始走入正軌了,我開始相信自己在IT業也可以活得精彩。

我的面試故事

第一次面試--Micro Strategy

經歷了一系列的思考,雖然我知道了女生能幹什麼,並且現在知道也怎麼尋找了,但我始終不知道自己面試的時候應該具備什麼樣的精神面貌,換句話說,我找不到自己的面試風格。學長們告訴我們說面試要不卑不亢,什麼叫不卑不亢?怎樣就是卑?怎樣就是亢呢?學長們還說對面試官的問題要積極並富有策略地回答。但是這個""怎麼把握?這些我都不知道。

我的第一個面試是Micro Strategy,面試來得很突然,還沒做好心理準備,我就匆匆忙忙地去面了。接待我的是一個香港人,說的卻是流利的英文,我的英文水平一般,加上之前幾乎沒有求職經驗,立馬就被嚇住了。一路坑坑巴巴,說的最多的詞是"er",那個香港人倒是很有風度,一直耐心聽我說,只是我的表現實在是太差了,而且越說越沒自信,越來越緊張,這直接導致我犯了好幾個無比低級的錯誤。面試結束後面試官和我握了握手,我心裏知道,沒戲了。

自那以後的很長時間,我都找不到屬於我的面試風格,不知道怎樣才能把自己的水平發揮出來,直到我面試阿里巴巴。

第一個Offer--阿里巴巴

我面試的職位是需求分析工程師,由於面試前被告知這個職位不在北京,所以對於當時一心留京的我來說,已經沒有吸引力了,因此,緊張的心情一下子就放鬆了下來。

帶着這種輕鬆的心情,我見到了面試官。面試官的每一個問題都是圍繞職位展開的。他先和我簡單談了一下項目的事情,然後就開始讓我分析我所做的其中一個項目的需求過程,還讓畫了不少圖表。不巧的,他關心的那個項目裏面並沒有多少需求的內容,可是他卻一直髮問。我心想,難道就這樣任由他牽着鼻子走?那我豈不是要越說越幹?由於我當時心態非常放鬆,所以膽子也大了,我打住他的話,對他說:"不好意思,這個項目由於是研究型的項目,所以嚴格意義上的需求過程佔比不大,不過我有一個非常有意思的項目,需求和開發過程銜接的非常好,你想不想聽啊?不過這個項目沒寫在簡歷上。"面試官有點驚訝,繼而點頭微笑。於是我開始闡述我熟悉的項目,一口氣講了十幾分鍾。他對我的闡述很滿意,讓我先不要走,到外面的大廳等待。我知道這次有戲了。

隨後我迎來了阿里的二、三面及HR面,套路和一面差不多,有了一面的經驗,加上心態無敵好,能夠冷靜地思考,所以後面幾次面試也出乎意料地順利。

兩天後,阿里HR給我打了電話,通知我去談Offer。這是我第一個Offer,其意義可想而知,讓我覺得更奇妙的是,這個Offer我原本絲毫不在意,最後竟然到了我手上。這裏一定是有些奧妙的。我仔細分析了一下,發現這次阿里的面試和以前的有很大不同。

調整心態。沒有什麼必須要得到的觀念,只是順其自然,這樣我非常放鬆,少了急躁,能夠冷靜的思考。

化被動爲主動。主動秀出擅長的東西,整個人自信了許多,自然可以加分。

通過阿里巴巴的面試,我終於找到了適合自己的面試風格,總而言之就是:放輕鬆,多自信,把面試官當朋友來看待,享受每一次過程,哪怕是被鄙視的過程。

隨後的面試輕鬆很多。我養成了一個習慣:記錄每次面試的題目,並總結教訓。在接下來的面試前,我都會看看我的總結,提醒自己不要在同一個地方跌倒。

最心痛的一次失利--網易有道

儘管找到了我的面試風格,但也不是次次面試都是順利的。

我投了有道的PM,並順利通過了筆試,進入面試環節,出於對有道的嚮往,我在面試前也做了充足的準備,調查了有道的每一個產品,做了同類產品分析,並提出了許多新的設想,洋洋灑灑幾大頁。

一面、二面非常順利,可到三面的時候問題就來了。面試官要我做了一個產品策劃,給我提出了一個非常奇怪的產品,我做得十分費勁。在他對我的設計進行總結時,我仔細觀察了他的表情,感覺他對我不太滿意,可是有道是我很喜歡的公司,我很想要這個Offer,於是我掏出了我之前總結的有道產品文檔,啪的擺在他面前,那個面試官都已經準備起身走人了,看到我的文檔十分驚奇,馬上讀了起來,邊讀邊點頭。面試結束後面試官送我出門,他衝我笑了笑,說:祝你接下來的面試順利。就這樣,我通過了三面。

四面的經歷我永遠都忘不了,我倒在了第四次面試。四面的面試官相當嚴肅,從頭到尾沒有露出一絲笑容,這樣的面試官是最讓我發怵的了。心理上立馬弱了一大截。這個面試官給我出的題目是我最不擅長的邏輯分析題。我當時看到題目就想:完了。在這樣的心理暗示下,我根本不能專心思考。最後自然就掛掉了。

分析這次面試,我做得好的地方在於:在面試前,對公司認真調研,寫產品分析報告。而我最大的錯誤在於:我不應該那麼早就給自己下結論,遇到不會的、不擅長的要積極應對,而不是在第一時間就示弱。

再後來,我迎來了和IBM的第三次邂逅,有了前面多次的"血的教訓",這次,我順利通過了面試,宣告了我職業生涯的開始。

我的求職技巧

及時總結:記錄每次筆試和麪試的題目,並在下一次筆試和麪試來臨之前認真複習。

循序漸進:筆試中,遇到不會的題或是很難的題,先寫一個笨方法上去,然後逐步深入。絕對不要什麼都不寫。對於拿不準的題目或複雜的題目,最好使用鉛筆作答,保持卷面整潔,可以降低筆試的誤殺率。

主動出擊:多參加公司的宣講會,並等待最後的面對面交流環節。主動和嘉賓介紹自己,讓他對你感興趣。從而增加面試機會。很多同學在這個環節開始前就回去了,其實這是錯誤的,後面纔是宣講會的精華之處。

想對IT女生說

務必自信,適合女生的職位其實很多。千萬不要隨便否定自己。

簡單舉例如下:PM、技術銷售工程師、項目管理、測試、IT諮詢、技術支持,還有銀行的信息部門,這些都是不錯的選擇。

務必好好學技術。

即便是開發崗位,只要能夠進入一個成熟的產品組,工作起來應該也不會有過大的難度,是完全可以勝任的。但不要以爲能說會道就足夠了。就算是PM,也是拿開發人員的標準來招的。

曲線救國,總會找到出路。

如果實在不喜歡純粹的IT,那就試着去學習一些可能會感興趣的學科吧,比如金融,比如城市規劃。看看能否做學科交叉。複合型人才也是社會急缺的。

結語:收穫與遺憾--寫給未來的自己

在北大的這三年,我看到了很多的牛人,他(她)們對我有很大的幫助。我從一個對計算機不太開竅的小菜鳥,逐漸成長爲對技術不再害怕的準IT人。在這三年,經過一次又一次地思考、實踐與挫折,我找到了適合自己的方向,發現了自己的優勢。最重要的是,我變得自信了。另外,我認識了一羣摯友,他(她)們是我最大的收穫也是最寶貴的財富。

我的遺憾有很多。雖然我頂着北大的旗號,但事實上,我卻沒有更多地去體驗北大的文化,沒有參與感興趣的社團,這些是我最大的遺憾。如果給我再來一次的機會,我會更多地活躍在美麗的燕園中。

我的座右銘是我的最壞情況理論--做事情之前先考慮一下最壞結果,如果發現最壞結果和不做這事完全一樣,那就不要再顧慮,大膽做吧。這個理論在相當多的場合幫助了我。有很多同學在找實習和找工作的時候存在着"不敢投、不敢面"的現象,我覺得這是大可不必的。很多公司的用人條件寫着嚇人,但事實上,他們往往更看重的是你是否具有很好的資質,是否能夠在未來的工作中主動學習,而不是你現在掌握了多少。試一試,又何妨?當然,如果決定試了,還是要全力以赴,不要只是走馬觀花地就過去了,Do or not do, there is no "try"

總之,清晰的目標加上努力與堅持,即便是普通的IT女生,也一定可以成功。

以馬雲說過的一句話作爲結束,這句話我很欣賞,與大家共勉:

今天很殘酷,明天更殘酷。但後天很美好,大部分人將死在明天晚上,看不到後天的太陽。

 

五、徐宥 掉進讀書的兔子洞

莫聽穿林打葉聲,何妨吟嘯且徐行。

竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。

料峭春風吹酒醒,微冷,山頭斜照卻相迎。

回首向來蕭瑟處,歸去,也無風雨也無晴。

--蘇軾《定風波》

引子:一件小事影響了我一生

大學中的一切,其實都和大學前的經歷和學習習慣有關。因此,我還是從我小學時的一件對我以後的人生,包括大學影響巨大的小事說起吧。

大學前:數理化,好老爸

一本小書的出現

我的小學是在農村裏和爺爺奶奶一起度過的。我的父母住在小鎮上,兩人平時都要工作,沒空照看我和弟弟。所以,我只有週末和放假纔到鎮上,和父母弟弟在一起。四年級升五年級那個暑假,我到了鎮上,和父母在一起。因爲一起抓魚釣蝦的玩伴都在老家,百無聊賴的我開始亂翻父親的書櫥,找書看。某天,我翻出了一本叫做《平面幾何一題多解》的書,那是本封面很好看的書。我把整本書翻下來,每個漢字我都認識,但每個符號我都不懂。於是我好奇地問父親,這個書講的是什麼呀,怎麼從來沒見過這些奇怪的符號呢?他就告訴我說,書裏講解的這個東西,叫平面幾何。他接着問我說:"平面幾何是個很有趣的東西,你想不想學呢?"我說:"當然想啊!"那時的我,其實只是一個好奇的小學生,迫切想知道這本書裏的圖畫和符號的意思。我肯定不會想到,這個很隨意的決定,改變了我其後的整個人生。

11歲,開始享受獨立思考的快樂

聽了我肯定的回答,父親立即從書櫥裏層(我家書太多了,書櫥太小,書櫥裏書分裏層外層,外層的書擋住了內層的書脊,我從來都不知道里面還有寶貝)變戲法一般地翻出了本《數理化自學叢書--平面幾何》。對於我父親這一代人來說,《數理化自學叢書》是代表着知識、榮耀和夢想的。我感覺他翻出這本書的時候的動作是虔誠的,但當時的我並不知道父親在這套書上寄託的希冀和夢想。我只記得他告訴我,當年這套書,用去了他大半個月工資。就這樣,從五年級開始,我就在父親的指點下,開始蹣跚前進地學習《平面幾何》。從一開始不知道什麼叫"證明",需要他一字一句幫我釐清邏輯關係,到後來全是自學不需要他教,我很快就喜歡上了自學這種學習方式,每天自己看書並且做八道題。暑假過完後,我就回到了爺爺奶奶的老家。父親讓我繼續自學,並且佈置我一週做八道題。我在爺爺奶奶家,每天放學回來不做家庭作業也不看動畫片,就趕緊做一道幾何題。做幾何題的妙趣,不融入其中的人是不能理解的。比起小學裏的抄生字、抄課文這種作業,做幾何題是腦力和體力的雙重享受。當時,我周圍沒人可以討論切磋,全靠自己。遇到不會的題目,我只能自己冥思苦想,或者熬到週末和父親討論,因此,常常被一道難題從週一折騰到週日。好在這套書是粉碎四人幫後出的第一版,當年學生的數學水平比不上現在的學生,而這本書又以自學爲主要切入點,所以題目也相對簡單,我冥思苦想幾天後大體上也能想到解題思路。因此,我能夠常常體驗百思而得解的愉悅感。

我覺得,這種時常拜訪的愉悅感,讓我很早就開始相信獨立思考的力量。

每個週末,父親都用吱吱作響的自行車帶我到鎮上洗澡、理髮,然後批改上週我做的幾何題。在自行車上的時候,他常常信馬由繮隨口說些初中物理和初中代數知識,比如看到船就說浮力,看到馬就說做功,看到三角形就說餘弦定理等。我也就半懂不懂地聽,有時候插幾句話,有時候能睡着了,沒有絲毫的壓力和拘束。很早就被中學數學、物理知識裝備的一個小學生是可怕的,我那時候覺得知識就是力量,因此我一定要用自己的數學、物理知識做一臺柴油機,我很自信地認爲自己懂得做柴油機和機動車的一切知識,說不定還能做出第二類永動機。父親屢次告訴我不可行,而我卻反過來屢次告訴他,你是個沒有理想的人。父親不願意打消我的理想,只是扔給我更多的書,希望能夠打擊我製造柴油機和永動機的熱情,而我的知識理想,在讀了更加多的書以後,變得更加的堅固了,我相信,學習知識是我人生第一重要事,有了知識,雖然不一定能做柴油機,但一定能做更多強大的事情。同時,我通過學習幾何和其他的一些父親扔給我的書,開始對自己的學習能力有了自信,我相信,找書自學是學知識的好方法,同時,把題從頭到尾做一遍是很好的自學方法。

所以,我帶着三個理念進入了大學:第一是什麼東西都可以自學,第二是慢即是快,笨笨地做一遍題是學習的捷徑;第三是知識理想主義,知識就是力量,而讀書學知識能夠消除矇昧,掌握改變世界的力量,所以是一件快樂的事情。

大一~大二上:極端自負,極度自卑

專業選擇的失意讓我暫時迷失了自己

我的高考成績很不錯,高中時還拿了一個數學聯賽一等獎,所以,我是帶着對自己數學知識(爲了準備數學競賽,我看了很多閒書,有很多就是大學數學系的教材)和學習方法的自信滿滿,和對南大數學系這個相對不好的選擇的遺憾和自卑(當時的高考分數可以填報更加好的學校或更加喜歡的專業)來到大學的。當時我的心理狀態可以用八個字概括:極端自負,極度自卑。這種心態,一直籠罩了我上大學的頭兩年,而且總是以一個季度爲週期,在兩極之間交替變化。我在學期開始往往很自負,到期中考試左右很自卑,然後再自負,再自卑,不斷反覆。

在我看來,極端自負這個心態,其實不是因爲自信,而是因爲極度自卑生出的應激反應--爲了掩蓋自卑,只好用自負來掩飾。爲什麼我極度自卑呢,大體有兩個方面的因素:一個是我的成績排名在高中都是很靠前的,但是到了大學就20名開外了,儘管我覺得自己的數學水平很不錯,考試卻總是不怎麼樣,覺得考試考不出真水平;另一個是覺得自己沒有在一個自己滿意的系--我喜歡能動手的工科,當時我覺得比起計算機系和電子系這樣的""系,數學系並不"",可即使在不""的系,我都不能做到前十,更別說看上去更加""的計算機繫了。爲了掩飾自卑,就自然生出了極端自負。那時候,我上課根本不聽講,理由是"書上的東西太簡單了"。爲了證明自己智商還可以,我總是坐在最後一排,顯示自己並不熱衷於老師講課。這樣持續了兩年,以至於到最後,我連班上每次都坐在前面的幾個同學的名字都不知道。這樣的心態明明是錯的,我卻缺少一個很好的動因來改變它。

我開始一行行敲經典書上的程序樣例代碼

不過最原始的三個理念還是在的,我告誡自己,即使上課不聽講,也不能浪費時間。所以,我把在聽課、做作業上節省下來的時間,用在了看喜歡的計算機書和學習編程上了。於是,整個大一大二,我憑藉着簡單的自學的理念,開始了兩件事情,敲《Thinking in Java》(TIJ)和《The TeXbook》上的每一個樣例。

TIJ的機緣其實很簡單,我是在軟件學院聽課的時候看到他們教Java,但是他們用的《Java 大學教程》太貴了,我捨不得買。 我在網上搜了一圈,發現《Thinking in Java》是一本免費的英文電子書。於是,我就在數學系的機房,每天下午和晚上,開着一臺計算機,屏幕上放着這個電子書,再用我很土的筆記本,運行着未註冊的 JCreator,一個字母一個字母地敲TIJ上面的程序。我很偏激地認爲拷貝粘帖的程序記不住,所以每個字母都自己動手敲。就這樣,花了一個學期,居然就把所有的程序敲完了,基本上Java 的方方面面,我也瞭然於胸了。

敲完《Thinking in Java》之後沒幾天,我們就期末考試了。那一次考試的試題是用LaTeX 排版的,而不是手寫的。我考試的時候就問監考老師這玩意怎麼排版出來的,因爲我知道Word軟件做不到這個效果。 監考老師除了對我不認真考試表示不滿外, 還算仁慈,告訴了我LaTeX 這個名詞。寒假裏,我就買了一本LaTeX教程。然後,突然認識到,原來TeX 居然是我最熱愛的Knuth的傑作,於是我就瘋狂地開始學TeX。我的方法還是一樣,敲例子。記得《The TeXbook》上有一個程序,Knuth讓大家自己照着敲入計算機,然後還很幽默地說,實驗證明,只有很少的人會按照他說的敲入這個程序,而這部分人,卻是學TeX學得最好的人。看到這裏我會心一笑,覺得自己的方法原來也不算笨。從此,一字不漏敲入一本書的程序成了我推薦別人學習語言的最好辦法。後來大四時我又敲了《A Byte of Python》,前段時間又敲完了《The Awk Book》,都是不到一個月立即從初學者成長爲細節很熟、代碼順手拈來的熟練使用者。順着這個方法,大二我把《組合數學引論》和上海交通大學出版社出版的一本《離散數學》上的題目都做一題不漏地做完了。當時選這兩本書也沒有特別的目的,就覺得這東西應該是計算機的數學基礎。這些積累,在大四全部都顯現了出來。

我個人認爲,《Thinking in Java》和《The TeXbook》都算得上是理論和實踐結合的精品書,是經典的英文原版書。我一上來就讀了這兩本書,閱讀品位就上升了不少,而且變得"崇洋媚外"了,任何時候都以英文原版書爲第一選項了。也正因爲此,雖然我自學的過程中沒有高人指點,但自學最重要的一個環節--選書--的盲目性就大大減少了。我記得當時我看得最多的書是華章引進的書,黑封面的,我們圖書館裏有將近半書架。這些書如果一一細讀,窮盡四年都看不完。但華章的書也並非本本經典,我開始注意選擇,細讀開頭十幾頁後,基本能決定一本書該不該看。所以即使當時沒人指點,全靠自學,讀的書還算過得去。那時候南大計算機系的教材,有的我看,有的我覺得不適合自己,就找替代品了。我覺得在選書這個事情上,因爲有前兩本書的標杆,我少走了不少彎路。從這兩本書開始,我瘋狂的讀書生涯就開始了。那時候南大浦口校區的硬件條件並不好,唯一有空調且可以上自習的地方恰好是圖書館。因此我每個暑假,基本上都是很早就過去佔位,晚上很晚回去睡覺。我對小說等其他書也不感興趣,就整天看自己覺得好的計算機書和數學書,做筆記。某天,我開始了一個雄心勃勃的計劃:讀完TP312(計算機理論和編程)書架。

大二下:兩個榜樣,三個要求

大一大二基本上就是在不斷的心態波動中前進。我學會了Java,也做了不少題,但是考試成績一直不是很好,爲此我比較苦悶,迫切想要改變這種狀態,我的想法是,要麼轉系,要麼好好學習數學。但是轉系阻力重重,我又不願意耐心去學習數學提高考試分數,所以我一度非常糾結。但是大二下學期,我遇到了兩個對我人生產生影響的人,這兩個人讓我從正弦曲線般的心態沉浮中跳了出來,讓我一下子變得目標堅定了。

第一個人是我的同學及非常好的搭檔,現在在 IBM 工作的李獲鼎,另一個是我的叔叔。他們讓我變得沉穩,消除了原有的浮躁,學業和心態都走向了正軌。

大二上學期快要結束的時候,我們數學系的學生會主席一次無意中對我說,在下次數學系搞的文化節上,我們懂編程的同學要維護一個叫做"模擬股市"的軟件。這個軟件是學長用 ASP 寫的,運行的時候有一些問題,所以需要專人看着運行。我那時候特自信,就說,乾脆明年我用 Java 重寫一個吧。後來我記不得是我找獲鼎還是他找我了,反正兩個人一拍即合,決定一起搞。寒假他在家自學 JSP 我就在家看 JDBC SQL 開學沒多久,我們就開工了,他負責寫前端 JSP,我寫 JavaBean。兩個人編程比一個人好多了,可以相互看代碼,而且可以輪流工作,克服浮躁感。我寫程序比較粗線條,基本上功能有了,細節就不管了。獲鼎比我可認真細緻多了,前端一個表格的寬度和顏色都要調好久。在他的影響和"脅迫"下,我做事情也變得細緻起來,因爲我不細緻,他的前端就沒法正常工作。那時候他也是一邊寫一邊學,對着書一行一行地敲 JSP,態度比我敲 TIJ 時候還認真。和他在一起工作了 20 天,把這個玩具項目寫完後,我從他那裏學來了耐心,自己也變得踏實起來。"模擬股市"這個小程序發佈後,玩這個系統的同學都挺喜歡的,我的自信心也就有了。加上心態也平穩了,態度也踏實了,自然地,原先的自卑心理就沒了。隨着自卑的消失,極端的自負也自然消失了。我心態變得正常了。這時候,雖然還有點小迷茫,但一切已經走上正軌,我開始思考以後幹什麼的問題了,聽課、做作業也比以前認真不少,成績也上去了不少。

我的另一個榜樣是我的叔叔。和他不能算是遇到,算是再發現吧。我叔叔是個很有冒險精神的人,具有不折不扣的企業家精神。我非常小的時候,他幫人家修電視,然後藉着擺弄電子產品的背景,迅速就搞了計算機。他買了可能是我們全江都市第一臺 486。搞了很多年計算機以後,他又自學了單片機,以寫彙編爲樂。這期間他還搞過印刷等其他的項目,我記得小時候最喜歡的就是到他的工作室裏面玩各種各樣新奇的玩意。因爲他總是不停地嘗試新東西,所以我對我叔叔一直的印象都是"善於抓住機會" 倒沒有把他和"耐得寂寞"這個詞很緊密的地聯繫在一起。大二有段時間,我突然對單片機很感興趣,就找了一本 8051 的書在看。恰好被他看到了,他就告訴我,他現在就是做這個的,一週後還送了我一個AVR 的開發版及一系列的玩單片機的電子器件。我從來沒有意識到我叔叔在寫單片機程序,所以當我聽他說這些的時候,驚訝得眼睛瞪得比燈泡還大,好像是突然發現了新大陸。我一直對和硬件打交道有一種畏懼感,並且體驗過 Linux 設備驅動編程,知道這些和硬件打交道的地方需要極度的耐心和細心。在這些底層編程上,C 我都覺得不順當,更不要說單片機上的彙編了。在資源受限的系統上做出工業強度的產品,已經遠遠超過我能力範圍了。而我叔叔,在沒有任何科班訓練的背景下,完全半路出家,全靠自學,一個人用幾年時間,就把這條路走通了。他現在寫的彙編程序,運行在千家萬戶的水錶中,可以說完全是坐冷板凳積累出來的硬功夫。可以想象,他當時給我的震撼是巨大的。我一度懷疑自己的自學能力,覺得有些事情,我永遠沒法做到,就像童年想做的柴油機一樣,只是幻想。而我叔叔,在這時候,給了我一劑強心針。

受獲鼎和我叔叔這樣兩個踏實勤奮的人的影響,我一改以前輕浮的習慣。在大二下學期,我給自己定了三個簡單的要求:a. 更加多看書,看好書,並且一定一定要做筆記;b. 多編程,多積累;c. 不怕困難,開始背 GRE 單詞。就這樣,我就開始了瘋狂學習的大三。

大三:深度迷茫,深入積累

大三是我看書最多、思考最多、積累最多的時候。大三我主要是沉穩冷靜地做事情,用不斷地做事情、看書和思考,壓抑心底深處的對前途的迷茫。其實整個大三,我都不知道自己要幹什麼、能幹什麼,只知道像一個運動員一樣一直往前奔。早在大二的時候,我們班很多同學就開始準備 GRE 了,我也就跟風準備 GRE,在大三的時候花了很多時間在背單詞上。說實話,當時我捧起紅寶書的時候,出國的動機並不強烈。那時候我並沒有對美國和中國在各方面的差距有清晰的認識,且過於小看環境對人的影響。潛意識中,我想讀計算機的研究生,考研可比出國轉讀計算機專業要簡單多了,學長也告訴我,申請計算機專業很難,我們數學系也鮮有先例。因爲正方面沒有很強的激勵,反方面又覺得困難重重,我就不太把出國當回事,除了背背單詞,主要的精力都放在了讀計算機書上。我專門掃蕩 TP312(計算機理論和編程)那個分類,同時看了很多英文原版書。TP312 中的大部分書,我都是囫圇吞棗地看,做一些總結性的筆記,只有少數幾本,如《計算機程序設計藝術》、《編程珠璣》,是認認真真看的。這時候的我已經沒有時間,或者說耐不下性子一條一條做題了,只能瀏覽一些題。即使這樣瀏覽,也讓我在後來大四的工作面試中佔了很多優勢。

我喜歡記筆記,很注意整理自己的既得知識

我有一個從高中就開始的習慣,就是把每天胡思亂想的東西記在一個筆記本上,算是思維快照。我還常常翻回去自省,看看過去和現在的變化。大一大二的時候,這本筆記本上記載着的是和生活和感情有關的瑣碎小事,或者宏大空泛的目標和敘事。而大三時記錄的內容明顯具體起來,比如這周看完了什麼書、下週去圖書館借什麼書等。但當時我寫下的這些計劃之間,是沒有很具體的頭緒的。在這些要做的事情後面,並沒有一個明確的線索串起來,而是像無頭蒼蠅一樣到處嘗試、到處碰壁。舉例來說,我的筆記本里清楚地記下某周要看操作系統,可是那周還沒看完操作系統的時候,又記下本週不看操作系統了,看編譯原理。就這樣,好似飢餓的狗熊在掰玉米棒子,看上去很勤奮地在掰,掰下來,啃兩口,扔掉。當時我能感覺到一種永遠存在的知識飢餓感,一種永遠填不滿的飢餓感。不過,我又總覺得前方應該有那麼一個終極玉米棒子,能夠最終填滿自己的飢餓感,所以,我就一直向前奔跑。其實這種奔跑,不管多勤奮、多刻苦,因爲不夠踏實、深入,永遠都是事倍功半的。好在我在不求甚解的同時,很注意整理自己的既得知識,寫在小本子上。後來我到大四的時候,寫論文也好,考研、找工作也罷,很多知識我都是臨時突擊的--好在有這麼一本小本子,我可以按圖索驥地去深入強化當時如無頭蒼蠅般亂看的一些書。如果用搜索引擎的工作原理打一個比方,我覺得我大三瘋狂地讀書和學習,就好比是在建索引,等大四要搜索結果的時候,就再也不需要每本書全文檢索了,直接按照本子上的索引找到當時看的書。

踏實和勤奮這兩個從我叔叔和獲鼎身上借來的優秀品質,加上取之不盡的TP312書架和背不完的單詞,使我沒有再一次被深度迷茫拉入自信和自卑的反覆中,相反,隨着這些積累越來越多,我變得越來越自信了,雖然這種對積累的自信尚未被現實驗證過。

大四:書到用時,無心插柳

大三的迷茫讓我不確定以後的方向,未被現實驗證的自信又讓我蠢蠢欲動,所以,我就自然地產生了"賭一把"的心態。如果以賭博爲喻,我就是在所有的盤口上都了下注,要不全輸光,要不總能賺,而我相信至少能贏一盤。

所以,大四甫一開始,我就擬了一個時間表,自信滿滿地想要在考研、找工作和出國的三條戰線上都有所突破。我設想11月之前弄完出國材料,並且把簡歷弄漂亮,順帶找工作;1月前寄材料,套磁,準備考研,4月前搞定一切,等Offer56 月我就寫寫畢業論文,然後周遊中國了,等我周游回來,至少三個機會讓我碰到一個吧,我就從了那個就行了。從這個狂妄的計劃中可以看到當時的我的自信,不過我這個自信倒是有一定根據的,因爲我研究了考研的模擬題和找工作的不少案例,我當時想,好好準備,應該可以上南大的研究生,工作應該可以進騰訊,出國我倒沒什麼底,所以我也想用前面兩個來保底。

大四我們搬到了鼓樓校區,課表上又只有一門課,所以我就在鼓樓這個新環境裏亂跑、亂逛。學校有國際會議,我就跑去和老外搭訕;鼓樓有關於佛教的演講,我也跑去聽;IT 公司的宣講會和筆試,遇到好的我也去參加參加。如果沒事,我就上自習,繼續讀鼓樓圖書館的書。就這樣,我遇到了一個又一個的機會,基本上不管成功失敗,都算是有付出就有回報,當然運氣成分也不少。

面試題怎麼都那麼熟悉

10月左右,微軟(MSN)來我們學校面試。這是我第一次面試,很緊張,前一天看書看到1點多,第二天午覺就睡過了13點,加上箱子裏唯一的一件襯衫皺巴巴的完全不能穿,所以乾脆就穿着拖鞋和 T 恤衝去了。面試的人很友好,面試也很順利,有的同學還在等第二輪的時候,我的四輪就結束了。我當時的感覺是,微軟的面試題太簡單了,除了問我南京市新街口周邊有多少輛車外,其他題目都是中規中矩的計算機面試題。面試出來之後,我和一個軟院的同學在食堂討論題,他說:"題怎麼這麼難啊?" 我就很奇怪,說:"這些題《編程珠璣》上不都有的麼?" 後來我才知道,其實看過《編程珠璣》的人,不是我想象的那麼多,而我也是在書架上亂翻才偶然看到《編程珠璣》。在2005年的時候,沒有Web 2.0 和社會化推薦,我的世界,就只有面前的書架那麼大,我幸運地在那麼大的書架上遇到了幾本經典書,並且細讀了,吸收了。

很快,微軟給了我一個在上海做測試的職位。當時我一心要去北京,就沒要這個Offer。不過有了這一輪,我也知道面試怎麼回事了,這次面試,更加強化了我的自信,於是我又開始比較狂妄了,覺得自己能進當時互聯網中最熱的、宣稱招 50 個李開復博士的關門弟子的公司-- Google 中國。

利用比較優勢選擇考研目標

找工作還沒完全展開的時候,我就準備考研報名了。我選擇了北大生物系的生物信息學專業。其實這是一個讓我可以到北京的小聰明,而不是一個全面慎重思考的結果。當時我看到,這個專業只招兩個人,而且試題是和計算機系一樣,於是我想,除了我這樣的一門心思想去北京的,哪個人會繞這麼大一個彎子去學生物而不去學計算機呢?其實我自己也不敢挑戰計算機系,因爲我知道難度太大了,但是我又很想到北京去,就想了這個暗度陳倉的辦法。我當時還想,考上了,要是不爽,讀一年俺就退學找工作。2005 年末的大環境和現在是不一樣的,那時候Web 2.0的呼聲很高,讓我覺得創業比讀研有前途多了。不管怎樣,我自認爲很小聰明,就報名了,當然考完才知道,就爲了這兩個名額,有40多個人來考。

我要感謝當時同系的兩個同學苗文建和王琨,他們都是準備考北大計算機系的,即和我考同樣的試卷。他們資料很全,我就和他們一起上自習,蹭他們的看。大四我買書花錢很多,到了考研這時候真是捨不得花七八十塊錢買自己看不上的輔導材料和教材,所以就借他們的看。那時候考研的教材是北大的"操作系統""離散數學"教材。其中操作系統的教材,行家都知道這本教材參考了不少 Tanenbaum 的作品,我也看過就不大願意再買一本。前面我提到過,我大一大二做過一本離散數學教材上所有的習題,所以離散數學根本不需要花太多精力。至於政治,我是經歷過 3+X 高考的人。基本上考過政治的人都知道,政治考好考差和複習不復習無關,至於和什麼有關我就不在這裏多說了,總之這個東西並沒有深奧的學問,就只是那麼幾句話車軲轆話翻來倒去而已,命題套路也很容易掌握。做到比命題者更加聰明,對於受過大學教育的考生,是件很簡單的事情。我最後考研成績還不錯,撞大運考了個專業總分第一,其中數學完全是離散數學的功底,考了136;英語也是靠準備 GRE 託福的底子,考了差不多80;政治也差不多80;專業課運氣很好,正好90分搭線。於是就這樣糊里糊塗地考上了。

考研這個事情,我至今覺得運氣遠大於真正的付出,結果也非常出乎我的預料。記得結果剛出來,同學幫我查分的時候,我根本不相信自己考這麼好,還放話說如果考這麼好,請全宿舍吃飯(我記得當時兜裏面只有200塊錢,根本沒法請人吃飯,後來還是借錢請客的)。考研結果出來之後,迷茫的我得到了一個非常好的保底,我就比較得隴望蜀了。其實在當時我的心裏,我並沒有認真想過以後要具體幹什麼,只是隱隱約約覺得要不去北京,要不就去美國。有了北大這個機會,我就調高了自己的心理標杆,定下了兩個大的具體目標,或者說是聖盃,一個是進 Google 中國,一個是到美國名校讀計算機,有了考研這個保底,在2月份過完年,我就不慌不忙地認真準備這兩件事情了。

面試題怎麼還是那麼熟悉

10月份的時候給 Google 投了一份簡歷,很快在11月份就被拒了。而我的搭檔李獲鼎在簽了 IBM Offer 的第二天,卻收到了 Google 的面試邀請(我相信憑他的實力,如果晚一天籤 IBM,他現在也應該在 Google 了)。我聽了之後覺得很奇怪,按說我們兩個,做的項目是一樣的,學的科目也一樣的,寫的簡歷互相也看過,背景也都差不多,我被拒了,他被邀請去面試了,我隱隱覺得有什麼地方不對。我的不服氣,反應在行動上,就是每天上網看 Google 中國最近又招了幾個人、怎麼招的。那時候互聯網上盛傳的故事是一個人給李開復用很多不同的郵箱發郵件,以保證簡歷能夠萬無一失到達,結果瞬間被錄用了。這個故事的內容和合理性放在一邊,我對故事主人公的精神很感興趣。我覺得我也可以再試試,說不定堅持就是勝利。正好那個時候,Google 的一些副總裁到北大有個宣講活動,說好了現場接收簡歷的。我從當時在北大的女友那裏得到了這個消息,回來把簡歷梳理了一下,讓她幫忙打出來,又交了一次。這一次,簡歷直接交給了某個副總裁,成功了!幾周後,Google 中國的 HR 就給我打電話,安排機票和賓館,讓我去北京面試。

面試的過程其實平淡無奇,題目不是《編程珠璣》上的,就是《計算機程序設計藝術》上的,再不然就是網上貼出來的。我個人感覺,面試題就那麼多,多做做基本上就瞭然於胸了。我從找工作一開始,就做了個有心人,每天都上網看面試題。 這次面試前,我又把《編程珠璣》這些書複習了一遍。同時我知道自己在面向對象編程方面很欠缺,又看到有面試過的人說面向對象也考,就順帶看了《設計模式》。我還比較有心,花了幾個晚上,搗鼓了一個移植於 Mac 的、基於 MVC 的可以當場演示的 Java 小遊戲,面試當天我還給面試官演示了這個小遊戲的架構和用到的設計模式,這樣,我感覺,自己面向對象開發方面的弱點就讓這個小遊戲的演示給彌補了,面試官也一致說好玩。

很快,四輪面試結束後,HR帶我去見李開復博士。李開復博士是個風趣的,或者說很善於觀察人的人。他見到我的第一句話竟然是半調侃的"小夥子,我們 Google 不能解決北京戶口啊",我承認當時的確穿得很民工,因爲網上說Google 是個很隨意的公司,我是繼續以涼鞋裝備和鳥巢一樣的頭髮去面試的,但是我還真的不是爲了北京戶口才去 Google 面試的:。我之前也做了一些功課,瞭解了一些李開復博士早年做的工作,所以談話進行得很順利。說了一會兒後,我就拋出了爲什麼 Google 拒我一次又讓我再面試這個問題,他說這事情還很罕見,要是我再網申,基本上簡歷是不可能浮出水面的, 因爲數據庫裏面已經有標記了,不過我這樣二進宮算是精神可嘉。這時候我才回憶起面試的一個MM手上拿的簡歷,的確是我第二次提交書面簡歷的複印件,而不是網申的打印版,可見還是堅持再投一次好(這個堅持,我也是和搭檔李獲鼎學到的,IBM 二面就有拒他的意思,他要求面試官再給一次終面的機會,結果他的終面剛結束,面試官就和他握手恭喜他加入 IBM 了,所以面試這個事情,堅持到最後的纔是勝利者)。當天和李開復談完出來,HR 衝我笑笑,握握手,說,就你和他談的時間最長。我基本上知道,這個事情成了。

誤打誤撞,選擇了出國深造

在找工作的同時,我出國的事情也沒閒。我覺得直接靠寄材料申請計算機希望渺茫(我先前直接申請了幾家數學和計算機,都是拒信飛飛),所以我就押寶在套磁上。在寒假之前,我就覺要寫篇有點質量的論文發表一下,才能讓申請材料有分量,否則招生的未必看得上我這個數學系的、沒有任何計算機背景、成績又不特別頂尖的學生。於是,我就回憶以前亂讀的一些論文集和書,再找看有沒有最新的值得跟的工作。就這樣不着邊際地亂找,還真的就碰到了一個感興趣的題目、一個不大成熟的想法和一個正在徵稿的會議。於是,我迅速地開工。憑着數學功底、編程功底和 LaTeX 熟練程度,幾天就完成了文章主要結果和寫作,然後就是寫程序、做實驗,並且不斷地改很爛的英語寫作。我的運氣很好,選擇的題目也不是很難,所以七天之後,我壓着截至時間前幾分鐘,把文章提交了。2005 年的 LNCS 還是被 SCI-E 索引的,所以我覺得這篇論文分量還可以,更新了自己的簡歷,一邊準備考研,一邊開始和美國的教授套磁。

我現在的導師 Yixin Chen 是一個非常傑出的年輕教授(科大少年班出身),我和他套磁的時候,他剛剛從事教職,因此很需要學生。我之前給他發了幾封信,有過短暫的接觸。到了415美國大學招生的截止日期前幾天的時候,他的另一個原來錄取的學生因爲某些原因去不了了。因此,當時他就聯繫我了,告訴我說,我可以過來美國讀書,做他的 Research Assistant。那時候我還在等 Google 中國的 OfferDr. Chen 就對我說:" Google Offer 不難,我也拿過。 你讀了書以後也可以拿美國 Google Offer ,但來美國讀書的機會就這麼一次。"那時候我想問題並沒有現在這麼深刻,加上比較想去北京,因此一直猶豫不決,還在催 Google HR 快發 Offer,心想你們哪個 Offer 先到我就從了哪個算了。我父親、我叔叔都不含糊,一個一個地輪番教育我,加上我導師後來說了上面這番話,我就不再猶豫,承諾他我一定接受這個 Offer。接着,我告訴了 Google HR,說我不去了。就這樣,我所有的自己認真謀劃、認真準備的路都沒有走,反而最後通過誤打誤撞和套磁,來到了美國。

 

結語:非沒用,兔子洞

總的來說,面試也好,考研也好,寫論文寫好,之所以能夠比較順利,我覺得都是大一大二一個鍵一個鍵敲出來的,也是大三一本書一本書讀出來的。我寫這篇文章的時候,把相關的前因後果放到了一起,是爲了解釋有些事情的前因後果。不過我不想給讀者一個誤解,即我恰好運氣特別好,一路直行沒有任何彎路。相反,我覺得我走了不少彎路,但是我很高興走這些彎路。比如說,我上大學的時候,很多精力花在了做數論題上,《現代數論經典引論》這本書的習題我差不多一題一題都做完了,但是我出國申請學習數論沒拿到中意的 Offer, 現在也不從事相關的研究,所以這些積累至今沒看到有什麼直接的作用;我一度認爲自己要做一個電子工程師,我大一大二還旁聽了電子系的模擬電路、數字電路,還混到電子系實驗室學 ARM 開發板, 但是現在這些除了吹牛外也沒什麼作用,學到的一點皮毛也還給老師了。我是個興趣很廣泛的人,看過的雜書、做過的筆記,最後有用的,我覺得有十分之一就已經很好了。大學的時候,爲了讓自己精力不耗散, 我限定自己每次借書,一定要保證四本計算機/數學,外帶一本社科人文書,還有一本任意的書,而且那四本一定要做筆記精讀。 因爲這樣,我才能夠最終沒把有限的人生耗費在無限的淺嘗輒止上。

即便這樣,如果純按照現在需要的知識看,我在"沒用"的東西上浪費的時間還是很多。不過我倒不願意稱這些爲浪費,在我看來,成長路徑中有很多的偶然,沒人知道在一些關鍵時候需要什麼樣的知識儲備,所以踏實地多儲備一些是好事。我在大四的經歷和其他的一些經歷都告訴我,以前通過看書、自學,徹底地弄懂的一樣知識,會在某個不經意的時候,突然被用到。這時候對當年積累的慶幸和再發現的快樂,就像驀然回首見到燈火闌珊處的秋水伊人一樣,是沒法用文字描繪的。另外,我有個切身的教訓,就是要踏實地積累。我讀書涉獵很廣,很多東西我都能大概知道怎麼回事,但是就是學得不深刻,所以即使當時花了很多力氣,需要的時候還要花大功夫重頭撿起。所以我的教訓就是,與其兩個半瓶水,不如一個滿瓶水。這個道理用在讀書上就是說,一本好書讀兩次要勝過兩本好書各讀一次。要是大學能重新來過一次,我會少讀一些書,多讀透一些書,這可能是我覺得當年猛讀書的唯一遺憾。

小時候我嗜書如命,我爸爸老是擔心我會成爲一個不懂人事的書呆子。大學中的我,幾乎天天泡在圖書館,可以說是個不折不扣的書呆子。其實除了讀書外,我的大學生活的其他方面也是很快樂的。我有玩得非常好的同學們;靠着帥哥室友們的魅力,我還常常和他們一起,和聯誼寢室那些青春活潑的姑娘們打球、打牌。我還談了一次戀愛,讓我對感情的事情有了深刻的認識。這些事情,交替地穿插在我這個書呆子平淡無華的大學四年中,讓我的大學生活如此美好,但這些細碎的星星點點的人生經歷,都不足爲外人道了。

我的大學四年,一頭撲入了讀書中, 就像掉入了兔子洞的愛麗絲。在讀書這個兔子洞裏,那些經歷的迷茫、挫折和奇遇,都是上大學之前的我不曾想象的!我不算一個合格的學生,我忘了不少任課老師,忘了我的學號,忘了班上不少美麗的女同學的樣子,卻沒有忘記某個夏天的中午,汗流浹背的我衝進圖書館,跳入一陣涼爽的書香;以及某個春天,我在草坪上讀書入了迷,噴水龍頭把我後背全打溼了還渾然不覺。這就是我對兔子洞的最美好的記憶。

網友跟帖

Hu Yiqun said,Aug 8, 5:34 pm

我總結類似你和劉未鵬他們成長的經歷,有幾個共性是相通的:1. 恆心,十年如一日,堅持做一件事,自然就能成爲這方面的專家; 2.興趣,興趣是你的契機,堅持做一件事,自然會遇到挫折,只有興趣可以使人堅持,進而突破。

Peng said,August 6, 2009 @ 11:11 pm

作者和很多大學生一樣,情緒在自卑和自負間波動,常因看不到未來而迷茫,作者沒有選擇逃避或在遊戲或者小說的虛擬世界裏麻醉自己,而是踏踏實實的在努力進步,所以當機遇到來時自然迎來了收穫。

Jun Yang said, Aug 7, 9:19 am

作者應該寫一些不太成功的和如何從不成功向成功轉變的經歷,以及相應的心態轉變的過程。這篇文章對"彎路"的着墨較少,容易讓人在讀完這篇文章以後,只關注成功的一面,而忽略了成功背後的努力和彎路。成長不是一件輕鬆的事情,如果讀者過分關注成長後的結果,忽視了對成長之前的過程的關注,容易被誤導。對你的成長影響最大的是:1.兒時的父親啓蒙;2.大二時同學和叔叔的影響。第一點大多數人無法複製,第二點機遇,也和第一點直接相關。至於,其他的結果,我倒覺得是水到渠成的事情了。

laihj said,Aug 7, 9:26 am

我倒覺得無所謂複製,一個人的經歷本來就只是參考而已,笑來老師就寫過"小心所謂的成功學"。寫的人把自己的經歷寫出來,看的人看了覺得有點教益很好,完全沒有教益也不必放在心上。真正的學習本來也不是完全通過他人的經歷獲得的。有那麼一些可以借鑑的地方就夠了。對我而言,怎麼借書這段就可以借鑑。

陳華 said,August 6, 2009 @ 11:59 pm

我覺得作者很大程度上得益於小時候的家庭環境。家裏豐富的藏書、和作爲知識分子的父親都能對成長起很大作用。我父母都是農民,上初中一起沒有機會碰到任何有益的書籍。獨立思考和勤奮上進的能力不是與生俱來的,後天的環境太重要了,等我知道這一點,我已經坐在高三無數參考書堆前面了。到了大學,更是疲於應付各種瑣事,只能邊看作者的博客暗想以後有孩子了要怎樣。

Mikster.Z said,Aug @7, 3:02 pm

對我來說,我經歷過挫折。時機錯過的始終是錯過了,與其修補過去的缺憾,不如開創新的目標。家庭背景這種東西,沒有就是沒有,我們能掌控的就是我們的現在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章