Poul Graham被譽為硅谷創(chuàng)業(yè)之父,他大學是在康奈爾大學主修哲學,研究生去了哈佛計算機系指黎,主修人工智能,計算機博士畢業(yè)后州丹,進入羅德島設計學院學習繪畫醋安,后去佛羅倫薩美術學院繼續(xù)學習繪畫。學畫期間墓毒,錢花完了吓揪,他決定先解決自己的收入問題,于是找到了自己的黑客兄弟Robert Morris(曾編寫了歷史上第一個蠕蟲病毒“莫里斯蠕蟲”)所计。當時趕上“互聯(lián)網(wǎng)概念”的大好時段柠辞,整個資本市場都為它而瘋狂,他決定搭建一個網(wǎng)店的軟件主胧,這個產(chǎn)品就是Viaweb叭首,后被雅虎以4900萬美元收購,改名為Yahoo!Store踪栋。離開公司后焙格,他的生活頓時空閑了。他開始將自己對技術和創(chuàng)新的觀點寫成一系列的文章夷都,發(fā)表在個人網(wǎng)站上眷唉。這些文章受到讀者的好評和追捧,最受歡迎的那部分文章出版了一本書损肛,取名為《黑客與畫家》厢破。后來,Graham在硅谷成立了Y Combinator(簡稱YC)公司治拿,用于扶植創(chuàng)業(yè)公司摩泪。到目前為止,從YC公司畢業(yè)的創(chuàng)業(yè)公司共有200家劫谅,已經(jīng)失敗的不到20%见坑,遠低于90%的業(yè)內(nèi)平均水平。這些公司成為了硅谷創(chuàng)業(yè)公司的主流捏检,Graham也被譽為“硅谷創(chuàng)業(yè)之父”荞驴。
什么是“黑客”?1946年贯城,麻省理工學院有一個學生團體叫做“鐵路模型技術俱樂部”熊楼,他們把難題的解決方法成為hack。hack的字典解釋是砍(木頭)能犯,解決一個計算機難題就好像砍倒一顆大樹鲫骗,完成這種hack的過程就被稱為hacking犬耻,而從事hacking的人就是hacker,也就是黑客执泰。
黑客原本是正面意義的稱呼枕磁,最能干的人會自豪地稱自己為黑客。自由軟件基金會創(chuàng)始人理查德?斯托爾曼說:“出于興趣而解決某個難題术吝,不管它有沒有用计济,這就是黑客∨挪裕”在某種意義上沦寂,hacking與盜竊信息,信用卡欺詐或其他計算機犯罪聯(lián)系在一起淘衙,這是“黑客”被當做計算機入侵者的原因凑队。黑客行為必須包括三個特點:好玩、高智商幔翰、探索精神。史蒂文?利維進一步將黑客的價值觀總結(jié)為六條“黑客倫理(hacker ethic)”西壮。
黑客倫理:1)使用計算機以及所有有助于了解這個世界本質(zhì)的事物都不應受到任何限制遗增。任何事情都應該親手嘗試。
2)信息應該全部免費款青。
3)不信任權威做修,提倡去中心化。
4)判斷一名黑客的水平應該看他的技術能力抡草,而不是看他的學歷饰及、年齡或地位等其他標準。
5)你可以用計算機創(chuàng)造美和藝術康震。
6)計算機使生活更美好。
真正的黑客致力于改變世界,讓世界運轉(zhuǎn)的更好宠进。和畫家一樣称勋,黑客只是懷有一門特殊手藝、有創(chuàng)造天賦的普通人橘忱。而編程是一種藝術創(chuàng)作赴魁,黑客就是藝術家,開發(fā)軟件與畫家作畫钝诚、雕塑家雕刻颖御、建筑師涉及房屋并沒有本質(zhì)不同。
在計算機的世界里凝颇,黑客指的是專家程序員潘拱。編程語言就是程序員的思維方式疹鳄。黑客與畫家的共同之處,在于他們都是優(yōu)秀的創(chuàng)作者尚辑。
黑客真正想做的是設計優(yōu)美的軟件。這需要良好的設計感盔腔,但你覺得你有“良好的設計感”杠茬,與你實際是否具有,不存在相關關系弛随,甚至可能存在負相關瓢喉。就像你覺得你會做某件事,當你真的去做的時候舀透,卻發(fā)現(xiàn)自己不太可能做得到栓票。那么如何考核自己能做出優(yōu)美的東西呢?答案是——時間愕够,經(jīng)過歲月的洗禮走贪,優(yōu)美的東西發(fā)展的機會更大,丑陋的東西往往會被淘汰惑芭。
作者說坠狡,你把整個程序想清楚的時間點,應該是在編寫代碼的同時遂跟,而不是在編寫代碼之前逃沿,這與作家、畫家和建筑師的做法完全一樣幻锁。(而在我學習編程的這段時間內(nèi)凯亮,我也深深意識到只有動手敲代碼才能真正的學會編程。)
當你排斥差異的時候哄尔,你不僅將失敗的可能性排除在外假消,也將獲得高利潤的可能性排除在外。大部分公司不把設計軟件的職責交給一個優(yōu)秀的黑客究飞,而是交給委員會置谦。因為還害怕風險,不敢創(chuàng)新亿傅。所以媒峡,如果你的競爭優(yōu)勢是在軟件設計方面,并且你的競爭對手是一家大公司葵擎,它大到由一群產(chǎn)品經(jīng)理來設計軟件谅阿,那么你的對手永遠不會趕上你。只要你能做出大膽的設計,由一個人或一批人同時負責設計和實現(xiàn)產(chǎn)品签餐,你就能在這里戰(zhàn)勝大公司寓涨。(因此,創(chuàng)業(yè)一定要做別人沒有做過氯檐,并且只有你能做的那些有價值的東西戒良。)
很多黑客都會找一份“白天工作”來解決生計問題,然后在其余時間開發(fā)優(yōu)美的軟件冠摄,因為如果你不愛一件事糯崎,就不可能把它做得真正優(yōu)秀,要是你很熱愛編程河泳,你就不可避免地會開發(fā)你自己的項目沃呢。
創(chuàng)作者的學習途徑,一是在實踐中學習拆挥,另一個學習的途徑是通過臨摹范例薄霜。一幅畫是逐步完成的。而編程也是這樣纸兔,如果你預先承認規(guī)格設計是不完美的惰瓜,編程時,就可以根據(jù)需要當場修改規(guī)格汉矿,最終會有一個更好的結(jié)果鸵熟。不要太早決定一個程序該怎么做,動態(tài)類型語言在這一點上就是贏家负甸。優(yōu)秀的軟件對美有著狂熱的追求,如果你查看優(yōu)秀的軟件痹届,會發(fā)現(xiàn)那些沒人會看的部分也是優(yōu)美的呻待。如果黑客是一個創(chuàng)作者,他必須具備靈感队腐。時刻考慮用戶的人性需要蚕捉,才能做出偉大的產(chǎn)品,即“換位思考”柴淘。如何判斷是否有這種能力呢迫淹?就是看他解釋清楚的能力,如果你的面對外行人为严,你怎么向他解釋敛熬?
如果你是一個黑客,并且夢想自己創(chuàng)業(yè)第股,可能會有兩件事情讓你望卻步应民。一件是不懂管理,另一件是害怕競爭。其實诲锹,管理企業(yè)很簡單繁仁,兩點:做出用戶喜歡的產(chǎn)品;保證開支小于收入归园。
Graham認為黄虱,如果你想致富,最好的辦法就是自己創(chuàng)業(yè)庸诱,或是加入創(chuàng)業(yè)公司捻浦。創(chuàng)業(yè)公司必須是小公司。創(chuàng)業(yè)就像一個壓縮過程偶翅,你的工作年份被壓縮成短短幾年默勾。但是,如果該你想賺100萬美元聚谁,就不得不忍受相當于100萬美元的痛苦母剥。如果創(chuàng)業(yè)那么輕松,所有人都去創(chuàng)業(yè)了形导。同時环疼,運氣也是一個重要因素。世界的財富并不是一張大餅朵耕,而是不斷被創(chuàng)造出來了的炫隶,而被創(chuàng)造出來的東西才是財富,而金錢只是財富的一種表現(xiàn)形式阎曹。
工作就是在一個組織里伪阶,與許多人共同合作,做出某種人們需要的東西处嫌。而真正重要的是做出人們需要的東西栅贴,而不是加入某個公司。因此熏迹,做一個創(chuàng)造者檐薯,而不是一個維護者。在公司中注暗,很難測量一個人的貢獻坛缕,也就無法根據(jù)貢獻給予收入。那就創(chuàng)建自己的公司吧捆昏。
要致富,需要兩件東西:可測量性和可放大性赚楚。你的業(yè)績必須是可測量的,你做出的決定能夠產(chǎn)生巨大的效應骗卜,如CEO直晨、電影主角搀军,專業(yè)運動員等。Graham認為勇皇,任何一個通過自身努力而致富的個人罩句,在他們身上應該都能同時發(fā)現(xiàn)可測量性和可方大性。但是收入和風險是對稱的敛摘,有巨大的利益门烂,必然有失敗的可能。如果你有一分令人安全的工作兄淫,你不會致富屯远,沒有危險,幾乎沒有可放大性捕虽。但是如果你的能力足夠強慨丐,你自然擁有足夠處理風險的能力。(李笑來說泄私,他到一個地方房揭,就會深入思考一個問題:這里最需要什么?想好之后晌端,就去做捅暴,后來都收益頗豐。他在新東方教學的時候咧纠,學校缺少作文老師蓬痒,他就去教作文,結(jié)果成為了老師中收入最高的漆羔。當然這一切的前提都是建立在“實力”基礎之上的梧奢。去變的優(yōu)秀吧。)
公司越小演痒,你就越能準確的估計每一個人的貢獻粹断。(我最近在想的就是先加入一家小公司,雖然會很累嫡霞,但肯定可以學到更多的東西,畢竟什么都需要你干希柿。最好找出色的人合作诊沪,因為他們工作和你的一起平均計算。喬布斯說過一句話:創(chuàng)業(yè)的成敗取決于最早加入公司的那十個人曾撤。由此看來端姚,實力是多么的重要!)
真正創(chuàng)業(yè)以后挤悉,你的競爭對手決定了你到底要吃多少苦渐裸。而他們做出的決定都是一樣的:你能吃多少苦,我們就能吃多少苦。創(chuàng)業(yè)就像蚊子昏鹃,要么贏得一切尚氛,要么徹底消失。保險的做法就是在早期賣掉自己的創(chuàng)業(yè)公司洞渤,只求數(shù)量較少但是更有把握的回報阅嘶。但是出售一家成功的創(chuàng)業(yè)公司要比出售還處于早期階段的創(chuàng)業(yè)公司更容易,即使會讓他們付出多得多的價碼载迄。收購這件事最難的地方就是讓買房真正拿出錢讯柔。對于買家來說,最強的收購動機就是看到競爭對手可能收購你护昧;次強動機是魂迄,讓他們擔心如果現(xiàn)在不買你,你的高速成長將使未來的收購耗資巨大惋耙,甚至你本身可能變成一個他們的競爭對手捣炬。在這兩種收購動機中,歸根結(jié)底的因素都是用戶數(shù)量怠晴。用戶數(shù)量就是判斷公司表現(xiàn)好壞的指標遥金。(可是現(xiàn)在人們什么都不缺,如何做出用戶需要的東西呢蒜田?)
Graham認為稿械,與下棋、畫畫冲粤、寫小說一樣美莫,賺錢也是一門專門的技能。每個人創(chuàng)造財富的能力和欲望強烈程度都不一樣梯捕,所以每個人創(chuàng)造財富的數(shù)量很不平等厢呵。一個大型上市公司CEO的收入大概是普通人的100倍。一個人工作具有多少價值不是由政府決定的傀顾,而是由市場決定的襟铭。(跟李笑來說的一樣,這里最需要什么短曾?)
一個社會需要富人寒砖,這主要不是因為你需要富人的支出創(chuàng)造就業(yè)機會,而是他們在致富過程中做出的事情嫉拐。如果你讓亨利福特致富哩都,他就會造成一臺拖拉機,這樣你就不需要使用馬匹耕田了婉徘。這其實是實現(xiàn)了雙贏漠嵌。
一名真正的創(chuàng)作者不僅應該技術過硬咐汞,還應當能使用技術做出優(yōu)美的產(chǎn)品。怎樣做出好的產(chǎn)品儒鹿?
好的設計是簡單的設計化撕。比如寫作,言簡意賅肯定比浮夸的語調(diào)要好的多。
好的設計是永不過時的設計挺身。很多大師的作品過了上千年依然是精品侯谁。
好的設計是解決主要問題的設計。簡體語言淘汰了以前的繁體字就是一個例子章钾。
好的設計是啟發(fā)性的設計墙贱。簡奧斯汀的作品幾乎不帶任何描述,讓讀者自己把一切想象出來贱傀。
好的設計是趣味性的設計惨撇。如希區(qū)柯克拍攝的電影。
好的設計是艱苦的設計府寒。在繪畫中魁衙,肖像畫占最高地位,因為人太擅長觀察臉了株搔,所以肖像畫家不得不加倍努力才能達到我們的要求剖淀。
好的設計是看似容易的設計。作家的文章讀起來流暢自如纤房,但是背后其實經(jīng)過了反復的修改纵隔。
好的設計是對稱的設計。寫作炮姨,繪畫捌刮,建筑中都大量出現(xiàn)。20世紀舒岸,不對稱成了現(xiàn)代主義建筑的前提條件绅作,即使如此,這些建筑也只是主軸上不對稱蛾派,細節(jié)部分依然大量使用對稱俄认。
好的設計是模仿大自然的設計。無人機就像鳥一樣洪乍。
好的設計是能夠復制的設計眯杏。當你對一件事情產(chǎn)生熱情的時候,就不會滿足于模仿了典尾。你的品味就進入了第二階段,開始自覺地進行原創(chuàng)糊探。
好的設計常常是奇特的設計钾埂。比如SR-71“黑鳥”超音速偵察機河闰。
好的設計是成批出現(xiàn)的。比如15世紀的佛羅倫薩褥紫;現(xiàn)在的硅谷姜性。之前,李笑來講要和身邊的人共同成長是提到髓考,當年和他一起從新東方出來的那批人中很多取得成功部念。
好的設計是大膽的設計。今天的實驗錯誤就是明天的新理論氨菇,如果你想做出偉大的新成果儡炼,那就不能對常識與真理不相吻合之處視而不見,反而應該特別注意才對查蓉。
Graham認為好的設計大多數(shù)特點是可以培育的乌询,但是“奇特”這個特點是無法培育的。愛因斯坦并不想讓相對論變的奇特豌研,他只想找出真理妹田,但是真理本身顯得很奇特;米開朗琪羅沒有想樹立自己的風格鹃共,他只想畫出好作品鬼佣,結(jié)果不由自主地創(chuàng)造出了米開朗琪羅風格。你最后發(fā)展出來的風格是自然而然形成的霜浴【е裕“奇特”這個特點尤其如此,沒有其他路可走坷随。
優(yōu)秀作品的秘訣就是:非常嚴格的品味房铭,再加上實現(xiàn)這種品味的能力。
Graham認為温眉,Lisp語言是目前最強大的編程語言缸匪,但它沒有得到廣泛使用過的原因是因為編程語言不僅僅是技術,也是一種習慣性思維类溢,非常難以改變凌蔬。如果在不考慮其他因素的情況下,你不選擇最強大的那種語言就是一件很愚蠢的事闯冷。當你的競爭對手被牢牢粘在那些很普通的語言上面砂心,永遠都追不上你使用的技術。Java是業(yè)界標準蛇耀,使用它不會有錯辩诞,但是人才市場上肯定有無數(shù)的Java程序員,即使為我打工的這批人都辭職了纺涤,我也能夠輕易的找到替代者译暂。(掌握核心技術真是特別關鍵抠忘。)一般來說,條件越苛刻的項目外永,強大編程語言就越能發(fā)揮作用崎脉。但是,無數(shù)的項目根本沒有苛刻條件的限制伯顶。(盲目的學不常用的技術也有弊端囚灼,無法和其他語言寫的程序協(xié)同工作,無法找到很多函數(shù)庫祭衩,不容易雇到程序員灶体。)如果一種語言寫出的代碼比另一種語言長三倍,這意味著你開發(fā)它耗費的時間也會多三倍汪厨。而且即使多雇人手赃春,也無法縮短開發(fā)時間,因為當團隊規(guī)模超過某個門檻時劫乱,再增加人手只會帶來凈流失织中。在一個高度競爭的市場,即使開發(fā)速度只相差兩三倍衷戈,也足以使得你永遠處在落后的位置(還是要有實力跋梁稹!)
“最好的文字來自不同的修改殖妇〉篌希”所有優(yōu)秀的都知道這一點,它對軟件開發(fā)也適用谦趣。設計一樣東西疲吸,最重要的一點就是要經(jīng)常“再設計”前鹅。為了做出優(yōu)秀的設計摘悴,你必須貼近用戶,始終寸步不離舰绘。士氣也是設計的關鍵因素蹂喻。設計意味著做出符合人類特點和需要的產(chǎn)品。但是捂寿,“人類”不僅包括用戶口四,還包括設計師,所以設計工作本身也必須符合設計師的特點和需要秦陋。
PS:埃里克?雷蒙德寫過一片文章《如何成為一名黑客》蔓彩。他建議從Python和Java入手,因為它們比較容易學。相當高級一點的黑客赤嚼,還應該學習C和Perl大磺。前者用來對付Unix系統(tǒng),后者用來系統(tǒng)管理和開發(fā)CGI腳本探膊。最后,真正非常嚴肅地吧黑客作為人生目標的人待榔,應該考慮學習Lisp逞壁。