门兴格拉德巴赫队放假
推廣 熱搜: 2019  互聯網  科技  地坪  PVC  建筑節能  有限公司  板材  機械  包裝 

2019年06月10日硅谷創業之父:不想當藝術(水槽浴桶)家的程序員不是好黑客

   日期:2019-06-10     來源:虎嗅APP    瀏覽:65    
核心提示:十環網摘要:有這樣一位程序員:青少年開始學習編程,研究生是哈佛大學計算系的,主攻人工智能,博士順理成章地在哈佛讀...。

有這樣一位程序員:青少年開始學習編程,研究生是哈佛大學計算系的,主攻人工智能,博士順理成章地在哈佛讀完。

自然風景透過陽光的樹林高清
畢業后在一家創業公司當程序員,三年后,和一位小伙伴編寫出第一個互聯網程序來技術創業。

又三年后,這家小公司被大公司收購,雖然財富自由,但身為一個有(ren)想(xing)法的程序員,他不愿意受雇于大公司,又折騰去教年輕人創業了,就這樣,不小心成為硅谷的創業之父。

有這樣一位藝術家:中學喜歡寫小說,本科學哲學,博士期間旁聽藝術,并在畢業后,自己報名設計學院的暑期班,還跑去歐洲學畫,渴望成為一名畫家。然后和很多不出名的藝術家一樣,居住在小公寓里,繼續追逐藝術的腳步。

這兩段看起來截然相反的人生軌跡,均是保羅·格雷厄姆(Paul Graham)真實的程序人生。

從落魄藝術家逆襲為硅谷的創業之父,Graham是如何抓住命運的拐點?

一、不會編程的作家不是好的投資人

1995年,作為一名小程序員的Graham看到網景公司上市后,他看到互聯網浪潮,相信不久將來網上購物會成為潮流,于是與黑客羅伯特·莫里斯(Robert Morris)開發出一款幫助個人用戶在網上開店鋪的軟件Viaweb。

這也是世界上第一個通過互聯網使用的程序,在此之前,人們使用軟件的方式是先下載安裝,本地操作完成后再上傳服務。

程序員出身的Graham頗具商業頭腦:Viaweb創辦的目的便是希望被收購。創辦三年后,這個目標完成了:1998年,雅虎以4900萬美元收購了Viaweb。

他倆慶祝這起收購的方式頗為藝術:莫里斯曾說過,如果Viaweb能賣100萬美元,他就去打耳洞,于是Viaweb被收購的那天,Graham拉著莫里斯去打耳洞!

被雅虎收購后,Graham成為一名雅虎程序員。但一向“戰斗”慣了的Graham不習慣大公司的安逸,一年半后,他從雅虎辭職,開始在個人網站上撰寫技術和創業的文章,廣受好評。

2005年3月,他給哈佛大學的學生做創業演講時,看到很多有想法和能力的學生,他回想如果沒有天使投資人,就沒有Viaweb。于是他找到老戰友莫里斯,重新創業風險投資公司Y Combinator,成為創業公司的孵化器。

對,YC就是陸奇從百度出來后選擇加入的公司,目前陸奇是YC的全球研究院院長。

截止2018年,YC已經協助過1900多家初創公司,這些公司的總估值超1000億美元,其中有15家估值超過10億美元的獨角獸公司。

而曾經“左手程式,右手詩”的Graham成為一代硅谷的創業之父,成就自己的不凡人生。

那么作為一名普通開發者,如何成長為優秀的程序員呢?Graham以自身為例,深入地從以下幾個方面談了談自己的看法:

二、優秀的程序員是黑客

很多人看到“黑客”二字,會想到很多電影里塑造的黑客印象:高智商的黑客在網絡世界里來去自如,隨意入侵政府保密的系統,破壞中樞系統,散播病毒,破壞網絡世界的和平。

Graham對大眾的這種認識糾正道,“黑客是指優秀的程序員。”他認為在所有行業中,黑客與畫家最相像,擁有以下特征:

1. 黑客應具有創造力

在實際工作里,很多程序員只會CRUD,這是“工程師”,而黑客則是“建筑師”,兩者的區別是建筑師決定做什么,工程師想出怎么做。

“如果黑客只是一個負責實現領導意志的技術工人,職責就是根據規格說明書寫出代碼,那么他其實與一個挖水溝的工人一樣,從這頭挖到那頭。如果黑客是一個創作者,他從事的就不是機械性的工作,他必須具備靈感。”

Graham在編寫Viaweb時思考:為什么不能讓用戶直接通過瀏覽器操作服務器呢?就不用再麻煩地操作安裝上傳了!

這才有了第一個互聯網程序。

2. 在細節上,黑客對代碼的優美有極致的追求

在一幅畫里,主角是人物,對于襯托物綠葉,很多畫家覺得沒人會仔細看,就偷懶隨意畫兩筆。可畫家達·芬奇絕不是這樣的,他對作品每一部分的認真程度完全不取決于會不會有人仔細看這部分,例如對綠葉的處理也是一絲不茍的,從畫上能清晰看到每片葉子。

同樣的,優秀的程序員寫代碼時應對美有一定的追求,他人在查看你寫的代碼時,應該有美的享受而不是直皺眉頭。Graham在編程時,假如看到代碼前面的縮進亂七八糟,或者看到丑的變量名,都會把他逼瘋。

網上有個段子:優秀的程序員都是處女座的。

所以優秀的程序員不單有創造力,還應追求代碼之美。這兩點在現實中卻很難做到,因為多數企業并不允許,他們認為“黑客”的工作就是用軟件實現功能而已,而不是設計軟件。“程序員被當做技工,職責是將產品經理的‘構想’翻譯成代碼。”

那么黑客該如何開發出優秀的軟件呢?為了兼顧生活與黑客理想,Graham認為應該分為幾個階段來談。

1. 拒絕當螺絲釘,黑客謀生亦謀愛好

首先,找一份養家糊口的“白天工作”,這些黑客在業余時間做自己喜歡的事。很多白手起家的技術創業者便是這樣開始的。

Graham面試程序員時,主要的關注就是問候選者在業務時間寫了什么軟件,他認為如果一個人不熱愛一件事,是不可能把它做得真正優秀的,如果是真正的黑客,便會自主開發屬于自己的項目。

可無論是多大的職位,你是否察覺到,自己在大企業公司時,始終只是一枚“螺絲釘”的角色?縱然自己很努力工作,公司本質上還是會將每個員工的貢獻做平均,我們不能說“我打算十倍努力地工作,老板給我的工資漲十倍吧!”

但創業可以。

在第一步的技術積累下,為了自由地做自己喜歡的事,黑客開始自主創業。可創業的真相很殘忍,需要有良好的心理準備:這是個壓縮的過程,將一個人的所有工作年份被壓縮成了短短幾年,不再是在大公司低強度地工作四十年,而是以極限強度工作四年。

在高技術領域中,Graham直言“這種壓縮的回報尤其豐厚,工作效率越高,額外報酬就越高。”

很多夢想創業的開發者卻會在開始行動前會擔心:我不懂管理,害怕已有的行業競爭將自己剛孵化的項目給淘汰掉,這怎么能說創業就創業呢?

Graham創業第一個互聯網軟件Viaweb時沒想太多:當時他們只花了不到一萬元的啟動基金來購買服務器和SSL、帶寬費用,開發一個互聯網軟件的費用比購買一把高級辦公椅還要便宜。

因為Graham認為,實際上他也是這么做得:創業只要做出用戶喜歡的產品和保證開支小于收入就可以維持公司的運營。至于行業競爭,Graham說其實“微軟公司更害怕你”,畢竟開發互聯網產品不需要申請什么許可證,開發者有一臺電腦,便可自由地在網上發布產品,如果用戶喜歡使用你的產品,便是成功的第一步。

所以,如果你想自由做自己喜歡的軟件時,可以嘗試開始踏出創業的第一步。

2. “把發現Bug的任務交給用戶去完成”

無論是創業還是業余鼓搗,如何做出一款優秀的軟件是黑客的首要難題。Graham給出一條公式:搭建軟件的原型、上線運營、收集反饋、調整產品、成長。

跟教科書上要求的軟件上線前需將Bug修改完成的理念不同的是,在瞬息萬變的互聯網時代,Graham給出一條發布規則:它運行不了,你就無法發布;一旦它能運行了,你就可以立刻發布。 

Graham提倡“把發現Bug的任務交給用戶去完成”,并重視用戶的反饋。與大公司緩慢提Bug和修改的流程不同的是:在Viaweb創立時,客服人員和程序員的工位只隔9米,客服可以隨時打斷程序員的工作來提Bug,如果遇到重大的Bug,就算Graham在開董事會,也會馬上暫停會議去修改Bug。 

通過及時收集用戶的反饋,和創業者自身全身心投入思考產品,來及時調整產品和發布新功能。

大公司一個新功能從計劃到實現可能需要花上一年,而個人創業者要“快”:Viaweb很多重要的新功能是在Graham上班途中突然想到的,當天就做出來,然后快速發布上線。

對于代碼負責人,Graham無論大小公司,應有且只有一個,因為“唯一的代碼保護機制就是你的羞恥心。”

那么作為一名開發者,在日常開發中,在當前習以為常的編程語言下,你是否有想過:一百年后,我們將會使用怎樣的語言?抑或說,怎樣的編程語言方可流傳百世?

三、一百年后,怎樣的編程語言會繼續流行?

很多人會不屑這樣的假設:計算機行業發展如此迅速,你跟我說這個?

其實自1946年第一臺通用計算機誕生起,計算機發展的歷史已經超過70年,可編程語言的進化相對來說是緩慢的。

Graham認為,編程語言進化緩慢是因為它們不是真正的技術,而是“一種嚴格符合規則的描述”。不同于真正的技術(例如通訊技術)的跳躍式發展,“編程語言的進化速度更像數學符號的進化速度”。對于數學符號來說,很長時間內,均是緩慢的漸變式變化。

在Graham眼里,Java將會和Cobol語言一樣,沒有任何后續語言繼承它的思想,進化之路已經走到了盡頭。

哪一些編程語言的生命力將會持久呢?

“那些內核最小、最干凈的編程語言才會存在于進化的竹竿上。”

從程序員角度來說,一百年后,我們最需要的編程語言是可以讓人毫不費力地寫出程序第一版的編程語言。

這種一百年后的編程語言需要符合什么樣的條件呢?

Graham說,開源是首要條件,二是需要傳播的書籍或者電子文檔來記錄,還有編程語言所依附的系統。在上述的前提下,語言本身需要簡潔、可編程性、一次性程序、擁有優秀的函數庫、良好的效率、經得起用戶的考慮,最后是再設計的能力。

那么寫累了面向對象、面向過程、面向XX的程序員們,想嘗試設計一款面向一百年后的編程語言嗎?

 
打賞
 
更多>同類資訊

推薦圖文
推薦資訊
點擊排行
 
網站首頁  |  展會合作  |  認可標志  |  登錄|注銷  |  關于我們  |  常見問題  |  使用協議  |  版權隱私  |  | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱
门兴格拉德巴赫队放假 赖子牛牛抢庄技巧 北京pk拾计划两期 玩时时彩有赢的可能吗 云南时时是统一的吗 506捕鱼游戏平台官网 后三组选包胆奖金多少 牛牛看牌抢庄规律 时时彩后二6码 球探体育即时比分 金花线上娱乐 亚洲兴发pt第一老虎机官网 老版本彩99 大乐游戏mg游戏pt游戏sw游戏 组选包胆是指什么 炸金花辅助软件免费