计算机科学家Erik Meijer眼中的Hacker Way工作方式
九月份在GoTo 2015大會上,和函數(shù)式編程、反應(yīng)式異步編程有著緊密關(guān)聯(lián)的,響當當?shù)挠嬎銠C科學(xué)家Erik Meijer在大會上與參會者分享了自己在接下來人生里最后幾年的規(guī)劃和打算,包括,他是如何看待自己的癌癥診斷的,如何改變自己的生活方式。此外,還不忘跟大家分享他所理解的“Hacker Way”。
\\Meijer告訴在場的聽眾,他于2013年離開了工作13年的微軟,并懷揣著“讓世界異步起來、互動起來”的目標創(chuàng)建了自己的公司——Applied Duality。他第一次跟Facebook合作也是跟Hack編程語言有關(guān),他說這是一個PHP精簡版的編程語言,目的是賦予開發(fā)者一個函數(shù)式范式編程體驗。后來,Meijer還在2014年的時候,幫助谷歌Dart編程語言添加了支持異步/等待和stream流媒體技術(shù)。
\\然而,不幸很快降臨到他的頭上,在2014年的圣誕節(jié)前夕,Meijer被診斷為癌癥,這無疑是給他這充滿斗志的生命畫上了句號。一個多么令人扼腕的消息。由于治療需要,Meijer在重癥監(jiān)護病房里呆了五天。他說,在病房里的那幾天感覺很奇怪,如果可以的話,自己很想“就像一縷清風一樣飄離而去”。之后,離開重癥監(jiān)護室回到家里,開始了他的腫瘤治療之路。
\\Meijer后來回憶說,生活并沒有什么變化,變化的是自己的心態(tài),他花了六個月的時間才將自己帶回到正常生活節(jié)奏中。在這段時間里,他把剩下的時間看的無比珍貴,并把這樣的機會留給自己重新審視自己的生活,徹底思考自己接下來該做什么,如何規(guī)劃自己的寶貴時間:
\\\這件事之后,我一直在想一個問題:我能用我所掌握的技術(shù)真正的為人們做些什么?我需要一個真正的機會來幫助現(xiàn)實世界中最需要幫助的人。或者說,我特別想為這個世界留下自己的人生遺產(chǎn)。最近發(fā)生在歐洲大規(guī)模難民涌入事件我想很多人都已經(jīng)看到了,這些難民通過Facebook等一些社交工具來尋找自己的出路,來掌控自己的命運。我很震撼,這樣的舉動也是很驚人的,因為將這個世界連接起來的小工具已經(jīng)真的影響到了正常人的生死攸關(guān)決定了。
\\\所以,當扎克伯格邀請他加入Facebook致力于從事將整個地球上每個角落連接起來的工作時,Meijer欣然接受了。
\\連接世界這個任務(wù)給Meijer提供了一個很好的機會來進行他最喜歡的話題:是用“推”的方式,還是用“拉”的方式將人們連接到這個計劃里?他說,如果你真的想和世界保持同步,最好用“推”的方式,即快速反應(yīng)。而“拉”的方式是一種比較被動的方式,不管是在線上還是在線下,都會在程序里有很多阻塞點,從而使其效率降低。其實這兩者之間是存在相關(guān)性的,Facebook在用戶規(guī)模上已經(jīng)足夠支持各種連接方式,換句話說,目前單日10億的交流用戶量可以說是里程碑式的效果。但是Meijer說,這只是個開始而已,要想獲得連接世界的目的,用戶數(shù)量必須有一個數(shù)量級的增長,唯一的手段就是“打動用戶的心!”
\\Meijer說,在用戶量級的增長上有一個關(guān)鍵性的理念,那就是全面“推”出去,走出去,而不是“引”進來。當然,這需要對整個技術(shù)流程中的任何一個小的節(jié)點進行全面把控,以確保系統(tǒng)當中沒有哪個環(huán)節(jié)是起到“拉”的作用,因為這樣的環(huán)節(jié)肯定會成為一個致命的阻塞點。Meijer說,其實Facebook內(nèi)部就有這樣的案例,這個例子始源于他們開源的200多項技術(shù)當中,從編程語言到數(shù)據(jù)庫,從虛擬機到前端框架等等。這說明,Facebook控制住了所有的堆棧。而另一個案例是微軟公司,微軟竭盡所能想要將在框架中取得重大意義的異步/等待技術(shù)應(yīng)用在各個地方,以確保能夠起到“拉”效應(yīng)的組件丟失。
\\Meijer在演講結(jié)束之前主要談了一些編程方法論,以及Facebook的Hacker Way。在Meijer看來,像Scrum開發(fā)過程或敏捷開發(fā)這種方式,確實能將一些“低學(xué)歷的員工“留在公司框架中,所以他們創(chuàng)造出來的產(chǎn)品在質(zhì)量上只能算是中等水平。相反,如果采用Hacker Way工作方法,也就是聘用有經(jīng)驗的、能夠賦予特權(quán)的程序員的話,他們本身就知道如何在節(jié)省審批流程的情況寫創(chuàng)建有用的東西,這樣的人用起來很輕松。Meijer還引用了扎克伯格在Facebook申請IPO的公開信中對“黑客咒語”的描述,“代碼比毫無意義的爭論更有說服力”。因為代碼的價值并不會因為你怎么討論它而改變,也不會因為你畫了一個UML圖就能對它所能產(chǎn)生的效果有所改變。Meijer說,Facebook的Hacker Way工作方式有五個眾所周知的原理:
\\- 關(guān)注后果:你應(yīng)該將你的聚焦點放在解決重大問題之后產(chǎn)生了哪些最大影響及結(jié)果。\\
- 行動要快速:為自己構(gòu)建能夠快速學(xué)習(xí)的方法,特別是在嘗試采取一些有可能是唯一解決方法時,不管有用與否,都要快速決斷。\\
- 大膽冒險:有嘗試,就有失敗的可能性,接受失敗是最現(xiàn)實的做法。真正的風險是不敢去嘗試冒險。\\
- 保持開放:其實很多硅谷公司在這一方面做的都很好,例如谷歌和Facebook,一直努力的培養(yǎng)員工在信息上做到公開透明。\\
- 建立價值觀:你所做的工作應(yīng)該在整個世界上都要有影響力,而不僅僅是為了創(chuàng)建一個公司而工作。\
總的來說,Hacker Way就是拿一個系統(tǒng)的局限性來做實驗,采取的方法當然不是公認的、大家都遵守的規(guī)則,而是自己的隨意所為。用Meijer的話說,黑客就是不喜歡官僚,不喜歡虛偽,更不喜歡無能、無聊之輩。
\\\越是關(guān)鍵的、重要的東西,越容易被黑客盯上!
\\\據(jù)Meijer的說法,Hacker Way工作方式跟Scrum開發(fā)原則幾乎形成了鮮明的對照,首先是對產(chǎn)品所有者的定義就不一樣,Hacker Way工作法就是在時間表上不斷的沖刺,用一種與時間賽跑的方式力求把事情完成。而Scrum強調(diào)的是高度規(guī)范,工作流程“讀起來就像一本法律書”,要求“用各種嚴苛的規(guī)范準則來確保程序員遵守開發(fā)要求”。Meijer還說,Scrum項目負責人看上去就像是一個牧羊人,并沒有充分挖掘出程序員的潛力,事實上,他們真的應(yīng)該像養(yǎng)蜂人那樣讓程序員自主的執(zhí)行他們的工作。這是創(chuàng)造代碼,所以要確保他們集中精力在重要的事情上,而不是被一些瑣碎的事情占用太多的腦力。
\\查看英文原文:Erik Meijer’s Hacker’s Way
\\感謝張龍對本文的審校。
\給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號:InfoQChina)關(guān)注我們,并與我們的編輯和其他讀者朋友交流(歡迎加入InfoQ讀者交流群(已滿),InfoQ讀者交流群(#2))。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的计算机科学家Erik Meijer眼中的Hacker Way工作方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快对作业安装
- 下一篇: ubuntu搭建lnmp+Yaf+Red