關于黑客 - 工程師和黑客的區別在哪里?

2014年11月12日 10:27 來源:互聯網 作者:佚名 我要評論(0)

標簽:工程師(68469)黑客(21847)

  關于黑客

  黑客在哪里?黑客無所不在。不同于將黑客和工程師看作一成不變的性格特性,我更愿意認為黑客或工程師像是人們所戴的帽子————創造者尤其如此。黑客與工程師的不同在于在給定的時間、地點和情形下其本人是什么樣的人。

  在《黑客與畫家》中,保羅反對將計算機科學當作科學來對待。他寫到,黑客只想做黑客所做的事情,而不是寫論文。基本上,我認可他的想法,在領域/職業心理層面,這是很重要的。作程序員的人并不妨礙他成為一名黑客,當然也不妨礙他成為諾貝爾物理學獎獲得者。

  正如前文中所提到的,黑客的特性是破舊,拒絕約定俗成的舉動往往會引起重大革新/突破。

  李納斯。托沃茲(Linux Torvalds)反感所有常規的軟件創造過程。他打破了以往各自為營的封閉式軟件開發模式,開創了Linux開源系統,正如艾瑞克斯。雷蒙德(Eric S Raymond)在《大教堂和市集》中所描述的那樣,這是極具震撼力的革新。

  盡管如此,李納斯也并非是一個草率馬虎的程序員,事實恰好相反,他所寫的Linux內核的源碼有著不可思議的美感。在創造這樣的程序時同樣需要有明確的規則、約定的方法,在Linux開發工作之余,他也可以說是一名帶著工程師帽子的開發者

  關于角色

  六年前,我曾說過做一名黑客或一名工程師需要與生俱來的品質。而我現在則認為,在不同的領域,不同的情形下我們有著不同的心理特征。

  創業公司從來不會在單個領域起步,例如,一家搜索引擎起家的公司既包含商業領域(如商業運營、業務管理),又包含軟件開發領域(如開發搜索引擎軟件)。

  在這里我舉兩個創業公司至少在兩個領域起步的例子。想象一下,有兩個合伙人正處在創業階段,兩人都是程序員且都是創造者類型(就是說他們喜歡創造東西出來),但是A比B有著更多的開發經驗和知識,而B有著比A多的商業運營經驗。當涉及到商業領域時,B通常會成為工程師角色,而A則傾向于成為黑客的角色。在創建一家創業公司的結構或框架時,B比A知道更多關于商業運營方面的陷阱,比如B知道特定的稅必須以特定的方式繳納,但A不知道而且還會提出一些美好但違法的黑客式方法。

  然而,當涉及到軟件開發領域時,他們的角色將會發生轉換。例如,A有著足夠充分的理由架設桌面視頻會議系統來用,而缺乏經驗的程序員可能會將此舉認為是在阻礙他們黑客式的行為。

  當涉及到單個程序開發時就更有趣了。一個人可能會以他的知識體系和工程素養創造一段程序出來,或者是提出一個工程化解決方案,然后像黑客那樣探尋這個解決方案的更多發展空間。前者的例子是,李納斯。托瓦茲以黑客方式創造了Linux內核————當Linux被創造時是以MINIX系統的fork程序為基礎的,但同時他也做了很多精細的工程化的工作。后者的例子是理查德。費因曼(Richard Feynman)對于量子電動力學的發現。

  角色轉換

  當一個黑客和一個工程師在一間屋子里計劃一起創造一些東西出來時,可能會是誰也不服誰的狀態。盡管如此,我仍然強烈建議在初創公司中既包含有黑客型人才,亦包含有工程師型人才。

  依據不同的情形,創造者(黑客或工程師)有著不同的心理特征,這可以被很好的加以利用。在存在黑客和工程師的領域里,黑客能夠以革新的角度看待舊問題,尋找漏洞并做修補,而工程師能夠為黑客提供扎實的事實基礎。上文中的稅收例子便是說明。

  事實上,依據情境變化的角色轉換也可以很好的加以利用。保羅在《黑客與畫家》中談到黑客需要同理心。角色轉換是很好的同理心訓練。雖然角色轉換大多數時候發生在不同領域轉換中(比如,A是商業運營方面的黑客,軟件開發方面的工程師;B正好相反),如果初創業者能夠認清他們正在扮演的角色以及需要的角色,這會是很好的鍛煉同理心的機會。

  工程師可能會覺得自己多年的經驗會被黑客忽視掉,而黑客會覺得他的能力會被工程師所設定的條條框框所牽絆。當這樣的事情發生時,其實是不錯的機會去感受彼此的角色————試著穿上別人的鞋子走走看,或許能走一英里亦或兩英里。

  關于這點,我想指出的是,我不相信每個人都有黑客的品質,總會有一些人承受不了一點點的冒險或不服從的后果。在我看來這些人可能適合生活在更大的環境中,但不適合在初創團隊里,創業團隊需要的是能夠在黑客和工程師角色之間相互轉換的人。

  在另一方面,如果初創團隊負責是是極為重要的軟件(比如可能會引起多人喪命的那種),那么相比黑客式思考方式,團隊需要的更多是工程師式的想法。當然,這并不妨礙一些娛樂型的黑客用像Python這樣的動態語言做出一些瘋狂的事,像是用Python控制30噸重的設備。

  結束語

  黑客早已不是什么新名詞,但黑客這個詞已經存在許久并將存在更久。從伽利略到費因曼再到托瓦茲,總會有一些麻煩制造者伸長了脖子探尋著盒子外的世界,桀驁不馴、尋求革新。

  在軟件方面,我贊同保羅。格雷厄姆的觀點。我們生活在軟件黑客的繁榮時代,但隨著計算機工業的成熟,工程師將會逐漸成為新新人類,他們可能沒有黑客那么迷人,但他們將會是軟件的根基。

  綜上所述,最重要的是繼續努力前行,繼續努力創造新的事物,不管你是一名黑客還是一名工程師,因為是創造者(Maker)在推動這個世界發展。

上一頁123全文

本文導航