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