給想當程序員的大二學生的建議

 

來源:http://www.oschina.net/news/15500/advice-to-a-college-sophomore-programmer?from=20110220

 

背景:最近我在Groupon公司的一項新職務是爲公司招募優秀的開發人員。我是Groupon開發團隊的代言人,負責發佈招聘信息、回答問題等。過去的一週,我對兩個詢問夏季實習工作的學生進行了回覆。

下面是我在回覆他們的郵件中的感覺值得公開發表的一些建議:

  1. 如果你在大二的時候就已經開始接觸外面的公司,我認爲你做的很對,你就應該這麼早爲你今後的職業生涯打基礎。很多人都是等到畢業的前兩個月(甚至更晚)才考慮這個問題。即使你沒有實習的機會,你也要獲得一些外面的工作印象。
  2. 如果你想學習一種成熟的技術,先看書仍然是推薦的做法。理論和實踐之間是相互平衡的,書本上是經過完善的符合實際的描述,會讓你對一種技術有一個全面的連貫認識瞭解。如果你想學Rails,Web開發敏捷之道——應用Rails進行敏捷Web開發 這本書會教會你如何在一週內開發出一個功能齊全的電子商務網站。當然,有時候實踐是先於理解的(甚至有時候你不實踐就無法理解)。
  3. 千萬不要寄希望於在課堂上學習一種新語言新技術。計算機專業的課程有自己的目標,是要給你一個廣泛的理論基礎,是針對某些特殊的課題。很多的技術 (如源代碼管理,服務器管理,nginx配置等)和語言(很多學校只教C和Java)永遠不會出現在課堂上。在公司裏,你經常會根據業務的需要或個人事業 的需要即時學一些新東西,所以,如果你想以後事業上有所斬獲,現在你就要開始學習一些課外的知識。
  4. 不要只關注一些特殊的語言和框架,要學一些多樣的編程技術。像計算機程序的構造和解釋 (免費在線閱讀 http://mitpress.mit.edu/sicp/full-text/book/book.html) , 代碼整潔之道, 程序員修煉之道 等就是這樣的好書。
  5. 如果你對上面一條只是一眼掠過,最好還是再讀一下!讀讀SICP,看看視頻講解,這些訓練會讓你成爲一名出色的程序員。
  6. 至少學一種“冷僻”的語言。它會讓你學到很多從像Java這樣主流的語言中學不到的東西。我個人喜歡Lisp這種語言,而Land of Lisp這本書是一個非常好、非常有趣的學習這種語言的教材。
  7. 做一個工程。這個工程不必非常有意義或非常重要,只是爲了實踐!比如寫一個能找到離你最近的星巴克的搜索器。爲你的學習小組開發一個小組事物管理 系統網站。開發一個能完成拼圖任務的自動機器人軟件。只是爲了動手去做,把工程發佈到網上,把代碼放到GitHub上,把你做的事情寫出來,發表在你的博 客上。這會讓你留下一個對編程感興趣的公衆形象,這對一些招聘單位具有非常非常大的吸引力,尤其是在面試的時候。這也是你鍛鍊寫作的機會,讓你知道你每過 一年都有哪些進步。
  8. 接觸自己領域裏的開發人員。感謝Google的存在,如果有你的研究領域的研討會,5秒鐘內就能搜到它們。如果你找不到,也許是這些事情太耗時或 難於組織。你可以作爲一個志願者爲這樣的會議出把力,如尋找會議地點等,或你來組織。這種事情並不是很難,只是要你付出很多時間,要有信心。這種事情會讓 你獲得很好的信譽,和他人保持聯繫,一起工作,一起進步。

要說的就是這些。買100塊錢的書,做一年的課餘練習,你會變成一個對招聘單位來說比最優秀的學生還更具有吸引力的大學生!

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