當前位置:學問君>人在職場>就業指導>

國外高手給想做程序員人的7個建議[3]

學問君 人氣:1.32W

不要因爲枯燥就不選修非計算機專業的課程

國外高手給想做程序員人的7個建議[3]

想提高GPA績點的一個好方法就是多選修非計算機系的課程。請千萬不要低估你的GPA的重大意義。千千萬萬的人事經理和招聘人員在拿到一份簡歷的時候,第一眼就會去看GPA,包括我也是這樣。我們不會爲這種做法道歉。爲什麼?因爲GPA不反映單個的成績,而是代表了許多個教授在一段很長的時間中,在不同的情況下,對你的表現的一個總的評估。SAT成績難道不夠嗎?哈,那隻不過是一場幾個小時的測試罷了。GPA中包括了四年大學期間你的小論文、期中考試和課堂表現,總數有幾百次之多。當然,GPA也有自己的問題,不是百分之百準確。比如,這些年來,老師對學生的打分越來越寬鬆,學習成績有通貨膨脹的趨勢。再比如,GPA無法反映課程的難度,沒人能夠看出你的GPA是來自無名社區大學家政系的輕鬆課程還是來自加州理工學院針對研究生的量子力學課程。漸漸地,我形成了一套自己的做法,首先我會過濾掉所有來自社區大學、GPA低於2.5的簡歷,然後我會要求剩下的人給我寄成績單和推薦信。我再從中發現那些成績一貫優秀的人,而不是那些僅僅在計算機系課程中得到高分的人。

爲什麼我要關心某人的“歐洲歷史”課程成績呢,畢竟作爲僱主我要找的應該是程序員啊?何況,歷史是那麼枯燥,不得高分很正常。哦,這麼說來,你的意思是我應該僱用你,而不用考慮一旦工作變得枯燥你會不會努力工作?別忘了,在編程工作中也有很枯燥的東西。每一項工作都有枯燥難耐的`時刻。我不想僱用那些只想幹有趣事情的人。

選修有大量編程實踐的課程

我依然清楚記得我發誓絕不讀研究生的那一刻。那是在一門叫做“動態邏輯”的課程上,教師是活力十足的耶魯大學教授Lenore Zuck,她是計算機系那些聰明的老師中最聰明的人之一。

如今, 由於記憶力糟糕, 我已經差不多把這門課的內容忘光了,但是不管怎麼說,在這裏我還是想要對付着說一下。大致上,形式邏輯的意思是說,如果條件成立,你就能證明結論也成立。比如,根據形式邏輯,已知“只要成績好,就能被僱用”,然後假定“Johnny的成績好”,你就可以得到一個嶄新的結論“Johnny會被僱用”.這完全是經典方法。但是,一個解構主義者(deconstructionist)只需要10秒鐘就能破壞形式邏輯中所有有用的東西。這樣一來,留給你的只是一些趣味性,而不是實用性。

現在再來說動態邏輯。它與形式邏輯其實是一回事,但是必須再多考慮時間因素。比如,“你開啟燈之後,就能看見自己的鞋子”,已知“燈以前是亮的”,那麼這就意味着“你看見了自己的鞋子”.

對於像教授那樣聰明的理論家,動態邏輯充滿了吸引力,因爲它看上去很有希望讓你在形式上證明一些計算機程序的相關理論問題。這樣做說不定很有用。比如,你可以用它在形式上證明,火星漫遊車的閃存卡不會發生溢出(overflow)問題,不會因而整天一遍又一遍地重啓,耽誤了它在那顆赤紅色的星球上漫遊尋找火星人馬文(Marvin the Martian).

在第一堂課上,Zuck博士寫滿了整整兩面黑板,甚至黑板旁邊的牆上都寫上了很多證明步驟。需要證明的問題是,有一個控制燈泡的開關,現在燈泡沒有亮,這時你開啟了開關,請證明燈泡將會點亮。

整個證明過程複雜得不可思議,處處都是陷阱,必須十分小心。保證這個證明不出錯太困難了,還不如直接相信開啟開關燈就會亮。真的,雖然證明過程寫滿了許多塊黑板,但是還是有許多中間步驟被省略了,因爲如果要從形式邏輯上完整證明所有步驟,那就瑣碎得無法形容了。許多步驟是用各種經典的邏輯證明方法推導得到的,包括歸納法、反證法等,甚至有些部分還是由旁聽的研究生證明的。

留給我們的課後作業是證明逆命題:如果燈原來是關着的,現在卻亮了,那麼請證明開關的狀態一定同原來相反。