圖靈訪談之三十六:專訪趙劼(@老趙)
「碼農人物誌」新派碼農表明:趙劼,網名@老趙,洋名Jeffrey Zhao,享樂派碼農。最愛漂亮女,其次是編程和彈鋼琴。 目前就任於IBM,高級諮詢師。InfoQ中文站編輯,屢次受邀於微軟TechED,MSDN WebCast及各微軟官方或社區會議中擔任技術議題講師。最近致力於Wind.js項目的開發與推廣,並關注F#,Scala語言及mono平臺在社區中的發展。前端
編程人生的開始
一開始你們都是天天在一塊兒作相似的事情,可是到後來你就會發現,大家在之後的發展路徑中就再也沒有交點了。程序員
圖靈社區:你是何時開始學編程的?
我小學畢業的時候搞來一臺486電腦,上面裝了一個DOS系統,因而我開始搞最簡單的編程,當時就是爲了好玩。我用DOS寫了一個bat,功能大概 是在系統啓動以後自動執行,生成一個菜單,能夠上一頁下一頁或者按個數字進入某個應用,退出後從新回到這個菜單,目的就是爲了不輸入命令,方便操做。當 時尚未互聯網,全靠一本叫「DOS6.2」的書,這是惟一的渠道,如今回想起來,這些東西好像也挺有難度的,不是那麼簡單(笑)。後來(寫代碼)就是爲 了玩遊戲,什麼大富翁3,大航海時代什麼的,都是那個時候的經典。我一直對計算機比較感興趣,小時候還學了十年鋼琴,可是我敢說基本沒有琴童是對鋼琴感興 趣的,可能長大後會有些興趣,可是當時確定都是被逼被打的。後來我發現本身太笨,玩很差遊戲。上大學的時候你們流行玩CS,(玩遊戲時)我人都沒看到一個,就死了,下一局,仍是沒看到人,我又死了,我就搞不清楚這個東西的趣味在什麼地方,因此不如把時間花在寫程序上比較有趣。算法
個人升學經歷就是全考,個人有些同窗都是一路直升,沒有通過大考,而我每次都是差一點點。小學考初中時,老師總說大家要是很差好學習,到時候就差 0.5分考不上,結果那我的就是我。高考的時候,我努力搞計算機競賽,想去交大。我其餘成績比較差,一直以來的打算就是不高考,精力都是用在信息奧賽方 面。結果我高考那年交大拿了一個ACM的世界冠軍,顯得很牛,當時有五大聯賽:數學、物理、生物、化學、計算機,而交大隻要數學或者物理的直升,而復旦都 要。最後沒辦法,還得高考,我用僅剩的半年時間拼命讀書,同時由於痛恨交大因此報了復旦,還好最後考進了。數據庫
圖靈社區:你所接受的大學教育有什麼可圈可點之處嗎?
進入復旦的軟件學院對於我來講是很幸運的,當時的院長頗有水平,在理念上很先進。從大一開始咱們的全部教材都是國外的,全英文。其中大部分都是MIT等國際名校的教材,好比《深刻理解計算機系統》那本書就是咱們主要的教材,學編程基礎課時也建議咱們看Core Java,學操做系統的時候用的也都是響噹噹的恐龍書,如今看來真的是頗有價值。咱們從大一開始啃大部頭的英文原做,我只能硬啃,不能怕,這樣學下來收穫是很大的。當時人人都這樣學習,因此總體環境也是很向上,我同寢室隔壁寢室的人大都比我強。惋惜如今看來,我大學的時光仍是浪費了不少,算是比上不足,比下有餘。編程
有時候我會很奇怪,爲何有些人沒有看過《操做系統概論》,爲何有人以爲寫一個語言或者編譯器是一件很了不得的事情,爲何不少人也都沒有本身寫過操做系統。這 些其實都是學校裏的大做業,雖然咱們寫的操做系統也是比較弱的,可是那也是一個操做系統,線程調度,虛擬內存,文件系統等等,該有的都會有,也能夠在虛擬 機裏啓動。這些在我看來應該是人人都作過的東西,而不少人都沒有作過。雖然我大學裏專業課成績也不算差,可是由於當時在學校的學習有時間壓力,也貪玩,雖 然不玩遊戲但也會跟同窗或女友玩,同時也很懶,因此教科書中的不少內容其實仍是沒有吃透。安全
還有一點就是課程的設計,咱們還有函數式編程課程,我那時學LISP,後兩年的學生學的是Haskell。學到後來有不一樣方向,不管哪一個方向均可以 畢業。有些人甚至學的是邏輯式編程,prolog什麼的。雖然不少東西對個人幫助可能不會直接感覺到,例如我沒有作過任何實際的操做系統或函數式開發,但 是這些課程設計是很了不得的。微信
一直都有人問我不知道怎麼進步,有什麼書能夠推薦。我一般的回答就是,你要提升什麼我不知道,但我建議你回到大學的課程,也能夠參考國外教科書中的內容,跟着教科書你確定不會錯。架構
在大學裏,有些東西我要看三五遍才能懂,而我寢室的兄弟只看一遍就懂了。他大一就看《具體數學》,甚至高德納那套《計算機程序設計藝術》那樣的書,我但願有一天我也能看懂這套書。不少人在大學之初看起來都差很少,一開始你們都是天天在一塊兒作相似的事情,可是到後來你就會發現,大家在之後的發展路徑中就再也沒有交點了。我認識的一塊兒在暑假裏作過項目的人中就有人去了普林斯頓,走上了科研道路,我以爲我彷佛永遠都沒法企及他那種高度了。異步
理想?現實?
這段創業經歷給個人啓示就是,我不想當老闆,我就想當碼農,快樂地編碼。
圖靈社區:你有沒有什麼夢想?
我從小就想當科學家。科學家是推進人類進步的源動力,我相信世界是由科學家推進的。他們不必定要有很強的工業背景,我所崇拜的科學家就是搞研究的, 並不急着把本身研究的東西轉化成實際產品,世界上不缺急着賺錢的人。他們(科學家)可能會作10年,20年之後才能獲得有實際用途的東西,等到這些東西真 正發展成熟了工業界纔會拿去用。科學家會把世界向前推進一點點,而不是在已知的領域把已知的東西反覆利用,炒做價值。比 如華爾街那些用錢生錢,玩數字遊戲的一羣人,他們能夠賺不少的錢,可是他們對人類發展的貢獻很小。我尊重我的的選擇,有人喜歡賺大錢讓本身過得舒服一點, 但對我我的而言對於科學家更有認同感。我但願之後能夠賺夠足夠的錢,不用工做就能夠生活,那時我願意從新去讀書,從新進入學術界。
我認可科技有它的反作用,可是那是因爲人類的濫用。例如,如今因爲科技只是發展到必定程度,它能產生讓人吃上去舒服可是並不健康的東西,可是若是再 往前發展,我相信添加劑能夠作到提升口感並且很健康,而這些負面的效果可能只是由於科技發展還不夠,人類尚未準備好。如今的社會環境就是作好事可能沒有 什麼直接好處,可是作壞事有可能會拿到不少錢,人們權衡利弊,仍是決定作壞事。假如作好事和壞事的成本和收益相差不大,我相信人們仍是會選擇作好事的。
我認爲宗教和科學並不抵觸,宗教讓人對未知的世界保留一絲敬畏,科學解決不了的東西也是存在的。科學是在探索世界,而不是在發明世界。
圖靈社區:談一下你職業發展的歷程吧。
我第一份工做是在一家國內二線的大型網站,開發他們的媒體平臺。我忍不了程序員們無所事事、甚至還不想好好作事情的氛圍,因此只呆了六個月左右就離 開了。舉個例子,他們有的人可能會複製粘貼50次,也不會想到要提取出一個公用的方法。這地方的氛圍跟我理想裏的科研機構根本無法比,就像是你說草履蟲不 是哺乳動物同樣,中間還隔着十萬八千里呢。
後來我和陳黎夫一塊兒創業兩年多,作一個女性奢侈品網站。這段創業經歷給個人啓示就是,我不想當老闆,我就想當碼農,快樂地編碼。創業對我來講沒什麼吸引人的地方。有了這段經歷,人家再跟我說創業的時候,我就能夠說:創業,我早創過了。當時剛出校門沒多久,思路也不清楚,說實話此次創業也只是一個普通的工做,只不過自由一些,工資少些。
後來我去了盛大,差點試用期沒有過。由於老闆坐在我身後,一擡頭就能看見個人屏幕,他就會問:你怎麼又在刷微博啊?別 人都是試用期過了直接入職,我當時和老闆談老半天。其實我乾的活也不比別人少,麥庫的架構都是我一點一點搭出來的,第一行代碼就是我提交的,如今的API 也是我當時絞盡腦汁設計和實現出來的,自誇十分漂亮,十分Restful。雖然我不喜歡作產品,也不認同只有產品才能體現技術的價值或是技術脫離產品就失 去意義等觀點,但就算從產品角度來衡量工做成果,好像我仍是比不少人幹得有價值呢。盛大創新院誕生過不少項目,死掉的很多,突出的很少,但麥庫算是其中比 較突出的一個吧。
如今我在IBM,去IBM並無通過獵頭,我彷佛不是獵頭們喜歡的類型(笑),基本沒人來找過我。來IBM的主要緣由是在深圳工做,面向香港客戶, 我想這樣在香港產子會方便一些,這方面對我來講仍是頗有吸引力的。我如今是香港公民,但不是永久居民。只要有工做簽證就能拿到香港身份證,即是所謂的香港 公民了,但必須連續六年仍是七年是香港公民才能成爲「永久居民」。惋惜我剛去香港沒多久,香港就規定「雙非」子女即便在香港出生也不算永久居民,直接摧毀 了我南下最主要的緣由。我一直說我運氣很很差,讀書時每次直升都差一點點。個人小學初中關門了,高中大學都墮落了,以前提到我很敬佩的院長也由於某些緣由 去交大了,至於呆過的公司則要麼倒閉要麼走下坡路。
個人自我調節能力仍是很強的,總能在工做中找到本身喜歡作的事情。在IBM的時間對我來講過得很快。我對工做的要求就是不要讓我不停的加班,沒有本身的時間,晚上七點最晚八點對我來講就應該結束工做了。我是享樂派碼農,最愛漂亮女,其次是彈鋼琴,接着纔是編程,因此我不會去創業,也自覺不加入創業公司。我自誇加入哪家創業公司哪家就必倒,至少工做態度上會被我帶壞。創業跟享樂仍是很難共存的。
圖靈社區:你如今在IBM的工做內容是什麼?
不少人其實不知道我作些什麼,他們能看到的最多隻是我寫的文章等東西。我平時的工做既不流行也不火,只是通常的日常工做。我如今在IBM裏作投資銀 行的相關項目,徹底不涉及IBM內部事務。好比說給投行作一些交易系統前端之類,好比說處理交易,聚合一些數據給人看等等。用戶則根據這些數據制定下一步 的行動決策,設法賺更多的錢。在銀行這種非技術爲核心的不差錢的機構,很傾向於直接買現成的東西來一用。他們不差錢,能夠拿錢換時間、換機會。我很多技術 方面的工做實際都是圍繞這些現成的產品,而銀行的核心業務不多有人能接觸到。核心業務,好比說根據大量的歷史交易輔助交易員和研究員做出下一步決策。這裏 面須要大量的數學和算法知識,也須要對業務熟悉,而大部分人都是在作外圍,買一個設備、買一個軟件,而後使用。
我在GDC,算是IBM的二等部門,這個部門能夠簡單認爲是IBM開的外包公司,例如前段時間很是著名的蘇寧項目,即是南京GDC參與的。GDC前 幾年還不算是正式的IBM部門,後來才進入IBM的正式編制,但對於IBM一等部門,例如IBM China及CDL的一些人來講,GDC的人都不算是真正的IBM員工。這個部門也很難讓人產生歸屬感,雖然個人合同是長期的,可是有些項目的人籤的都是 短時間合同,僱用期隨着項目停止而結束。
圖靈社區:你看起來精力充沛,你怎麼分配你的時間?生活的時間?維護博客的時間?學習新技術的時間?
我7點左右下班,女友通常會早下班買菜回家,我到家後作飯,吃完飯可能會彈會兒鋼琴,可是10點以後就不能再彈了,鄰居會瘋掉的,我承諾圖靈社區 會錄一段鋼琴曲給你們(笑)。我以前還會花時間健身、減肥,可是減到80(公斤)就再也減不下去了。他們都說個人體型是「正太」分佈的曲線。其實我以爲我 的生活仍是挺豐富多彩的,例如除了彈琴外我唱歌也不錯。以前我還參加了深圳IBM唱歌比賽,最後拿了第三名,並且在打分階段我仍是第一,只不過PK的時候 敗了。有人說碼農苦逼,我倒以爲還好,我如今的同事有那麼一堆人,每一個週末都在一塊兒玩,好比看電影啊吃飯啊K歌啊桌遊啊或是去海邊玩什麼的,還有什麼「吃 遍深圳」計劃,high的不得了,反卻是我週末要忙着寫代碼或是陪女友活動,只是偶爾才加入他們。因此關鍵仍是看本身啊,一是要熱愛寫代碼,這樣就不會以爲工做太累,二是要熱愛生活,沒說碼農就只能宅在家的。
我博客的內容大部分都是平時在想,真正須要碼字的時候其實不費多少時間。博客維護對於我來講是隨時隨地的事,你常常會看到我拿着一個平板電腦,有可 能我就是在作這件事。其實我以爲寫做就是在說話,把你想說的東西寫清楚就能夠了,怎麼想就怎麼說,怎麼說就怎麼寫。Wind.js能夠說是提高我我的價值 的東西。很難統計每週我花在這上面的時間,由於我可能每時每刻都在思考一些東西、構思一些代碼,甚至在腦中進行實現,至少每時每刻都由於它在和別人進行交流。我如今在推廣它,但願在將來某個時刻,突然有一個大項目或者大公司決定使用它,或者收編它,這樣它就能火了。
對於新的技術,我通常不多看這方面的書,可是我會把源代碼花一點時間(好比說一個週末)看一下,裏面有一些溝溝坎坎就全都清楚了,該怎麼用,靠想也 能想明白。對於我比較熟悉的技術,我可能從頭至尾執行一遍就知道(怎麼回事)了,而後在網上看一些介紹用法的文章,我就能想到它是怎麼作出來的。看一個項 目我也知道從哪裏看起,由於我知道它的執行過程是怎麼樣的。書固然也會看,但通常都是看些實現原理,設計思路的書,由於這些內容有時很難從代碼裏看出來。 固然對於大部分我不會深刻的技術,我可能就不會讀源代碼,直接看一些內部實現或是思路分析的書就知足了。
以「玩」之名
我爲了玩技術而搞技術,這層次顯然比爲了作產品才搞技術要高得多嘛。
圖靈社區:有人說你不會轉換自我價值?
我以爲還好吧,我寫博客,和你們交流也影響了不少人啊。我賺的錢也夠花,按照winter同窗的說法,雖然買不起房,不少人也買不起啊,但我去必勝客點最貴的套餐也絲毫沒有壓力啊。難道是說我不是分析師管理層,或不是什麼O嗎?其實我如今就是Wind.js的CEO加上CTO加上天使投資人,我仍是Founder,連co都沒有。
或者是由於我不寫書?我仍是情願多寫點程序,多寫點零碎的文章來說講本身的想法。我喜歡自由,而寫書會被太多的東西束縛住。我不喜歡在邊角上投入精 力,有這個時間,我情願去作一個項目,例如把Wind.js的邊邊角角都作好,而後順便寫一些總結和體會。寫書我認爲須要面面俱到,把溝溝坎坎都填掉,而 我如今尚未那種精力和狀態。
我是個純碼農,仍是享樂派的,因此我是爲了興趣才寫代碼,寫代碼徹底是由於好玩。有人說搞技術是爲了作產品,沒有產品技術就失去意義,我倒不以爲。在我看來技術不只僅是工具,仍是玩具,甚至是藝術品。我爲了玩技術而搞技術,這層次顯然比爲了作產品才搞技術要高得多嘛。你 看動物只把交配做爲繁衍後代的手段,而人類已經把交配看成娛樂和社會活動了。如今不少技術人員喜歡說產品,我以爲這其實挺有問題的。你知道本身在什麼場合 或者在說什麼東西倒也罷,但我看來不少時候就是一些不怎麼樣的技術人員在瞎找藉口亂講大道理。舉個不怎麼好聽的例子,在討論語言設計的時候總有人會嚷嚷 「語言之爭沒有意義」什麼的,在我看來這比如人類在討論某些「技術性問題」的時候,動物們衝出來插嘴說「體位之爭沒有意義」。但其實呢?它們首先不知道並 非全部物種都是爲了繁衍才交配的,其次它們也不懂體位對於繁殖的效率也是很重要的。好比人類在幫狗配種以後,都會把母狗倒懸20分鐘,目的就是爲了增長受 精成功率。
你看我微博的認證信息,不是那個本身隨便填的我的說明,就是「資深碼農」,我是真以碼農身份爲豪的。因此我也不會對什麼業界大事或是傳言作什麼分析什麼,在我看來那是互聯網分析師作的事情,我挺不喜歡如今網上遍地都是的那種產品經理或者分析師。我甚至不會對技術作什麼預測,由於預測什麼的我以爲太不靠譜,太廉價,不少時候正過來反過去說都行,都太沒意思了。我最多就根據「事實」發表見解,固然也就是在技術方面。
圖靈社區:最近有不少關於裁人和失業的新聞,你以爲做爲程序員須要掌握什麼樣的能力,學什麼樣的技術?
把本身和任何產業或者某種技術綁定在一塊兒在我看來都是不太可靠的,對於我來講,我幹任何工做我都是以提升我的能力爲目標,這樣安全一點。固然話說回來,如今想要綁定某種技術也不容易吧,搞.NET的失業了就不能去搞Java了嗎?若是某人真把本身和某種技術綁死了,那基本就是自找的。我 以爲如今不少同窗遇到的困難均可以歸結爲自找的。例如,說程序員找不到女友?那是由於你不敢厚着臉皮去找,我就基本一追一個準,我以爲IT男其實挺有優 勢的。例如,說程序員看不懂英語書?那是由於你沒有像我同樣硬啃原版的大部頭書,個人英語也就四級水品,以前在微博上被一大堆人鄙視的,但我如今英語作點 技術方面的雙語演講也夠用。例如,說程序員不會寫文章做演講?那是由於沒有堅持寫堅持說,我剛開始寫的博客如今看起來也十分稚嫩,初中時競選大隊長時我演講雙腿發抖同窗都看獲得,而如今面向幾百人作演講毫無壓力,這都是本身逼出來的。好吧不說了,再說下去變炫耀貼了……
回到技術,我認爲技術要根植於如今。有些人以爲專一於穩定的技術不怕找不到工做、吃不飽飯,可是吃的香不香、好很差就是另一回事兒了。熱 門的東西能夠撈一票就走,而後吃香的喝辣的去。例如,雖然C的歷史十分悠久,重要性毋庸置疑,可是搞C的人必定能找到很好的工做嗎?有可能這個市場已經飽 和了,只有學得很好的那羣人才能到很好的報酬。而若是你作很火的技術好比說php,那裏有大量的工做機會,沒準能夠獲得很快的提高,你的生活水平和自身價 值也會獲得迅速地提升。
我在技術上很傾向於微軟,可是就算(微軟)真倒了我也不擔憂找不到好工做,由於我又沒有把本身綁死在微軟技術上,並且技術多少是相通的,去搞別家技術同樣順利。打個比方,當年Google最火的一件事情就是從微軟大肆挖人,假如搞微軟技術都必須靠微軟才能混飯吃,那麼那些人去了Google以後是作什麼的?難 道是寫.NET或作Windows開發麼?還有,StackOverflow總得分第一的Jon Skeet,也就是我惟二或惟三推薦的.NET必讀書籍《深刻理解C#》的做者,他搞了很久的.NET,比我還深刻也說不定,結果不也直接被挖去 Google嘛。提及來我推薦的另外一本.NET必讀書籍Framework Design Guideline的做者之一Brad Abrams也跳槽Google了,因此實在不行我也能夠去Google嘛(笑)。
我學技術惟一的標準就是要有意思,好玩,或者說有美感、符合個人口味。就像我很不喜歡指針和或糾纏於內存地址等大量細節,因此我就對C和C++都敬 而遠之,尤爲是後者,前者至少比較容易理解吧,大學裏也用過很多。其實我十年前在IE6上玩JavaScript的時候不也是破破爛爛的嘛,誰知道後來 Google和Chrome把它帶火了呢?
我相信的事
我不會爲了推廣本身的概念而忽悠人或者貶低別人。我只會說我認爲正確的東西。
圖靈社區:你是出了名的微軟系,爲何對微軟這麼推崇?
我作.NET的緣由是由於對Anders Heisenberg的崇拜,然後來技術這條路線是對微軟的欣賞。常常聽某些老一代程序員說微軟對程序員怎麼怎麼很差,拋棄了多少技術,但我沒這種體會。 我應該算是隨着.NET誕生開始搞微軟技術的,以前作的更多的是Java,中學時則更多用Delphi作過一些小遊戲以及一些教學用的課件,而從 搞.NET開始我就沒以爲它有放棄的跡象。
我欣賞微軟,是由於微軟在軟件研發,乃至研究方面的投入是最大的,並且它在研究方面的投入可謂不計回報,因此你會發現微軟研究院有不少案例都頗有 趣,而在開發技術方面,它的DevLabs裏面也有許多有趣的項目和技術,例如Reactive Framework,實在是讓我眼前一亮,真心佩服那些人的聰明才智。Reactive Framework的思路是對「拉」模型的接口取逆,成爲一種推模型,而後一會兒就能夠推廣至各式推模型和異步操做了。Reactive Framework的提出者是Erik Meijer,他是微軟的級別比較高的研究員,以前在大學裏當教授,這種人我想當喜歡。微軟的研究成果可能很長時間之後纔會變成產品,好比說 Kinect。話說回來,個人Wind.js也是受到了他們的F#中計算表達式特性的啓發,說實話F#也沒有多火或是多流行,但有多少公司會用心發展一門受衆不那麼廣的語言,並放入本身的主流產品中?像Google開發Dart或Go語言,目的都至關明確,就是要替換現有的JavaScript或C++等語言。有人總說蘋果公司研發投入比微軟少得多,卻賺得確盆滿鉢盈,代表轉化效率多麼驚人,因此多麼厲害。個人結論剛好相反,由於商業上的成功不能吸引我,相比起來我更佩服微軟那種不計產出——固然確定不會絲絕不計——的研發投入,這跟我佩服搞科研的人是一種思路,我就欣賞某些二桿子精神。
有人常會問我爲何不去微軟工做,我之因此沒有去微軟是由於,理論上說,在微軟你不能夠讀開源的代碼。微軟懼怕你在看了開源的項目以後,會不知不覺 地在工做中應用到開源東西,產生法律糾紛。這點真的很惋惜,必須對微軟作出嚴厲批評,還好微軟開源的東西也愈來愈多了,F#和ASP.NET一直開源,現 在整個ASP.NET 技術基本都開源了,還有Entity Framework等等。如今微軟也在Node.js和HTML5等開放技術上投入不少。例如,在iOS上使用HTML5技術開發應用還有由於太簡單被蘋 果拒絕的風險,而Win8直接把HTML5做爲原生開發技術了,最近微軟還和某公司共同向HTML5移植了大量經典小遊戲,因此我一直自誇雜牌技術玩家, 但搞了半天最後仍是沒有逃出微軟的五指山(笑)。
圖靈社區:你和開源社區和開源項目其實有着不少聯繫,你對國內開源現狀怎麼看?
我認爲國內的開源屬於開源初級階段,就是說打着開源的旗號來作其餘一些事情。舉個例子來講,如今的開源項目貌似不少,每一個公司都有開源項目,可是很 多公司他們只是開源本身的東西,而不用別人的東西。開源本身的東西很容易,由於代碼都是本身寫的,我能夠說我要弄一個開源項目,而後我把個人代碼放出去, 而後這個事情就結束了。可是你有沒有在持續更新呢?有沒有對這個項目的周邊進行持續性投入呢?
開源項目附帶有一種正面的宣傳效果,好像取得了道德制高點同樣。用來體現公司對社會的價值,提升公司的層次。可是問題是,你本身用的是否是你開源出 去的東西?有的公司自己在用一套,可是並不及時更新外面的程序,開放源代碼很容易,可是配套的東西都沒有作到位。這裏還會涉及另到一些問題,好比說,我從 外界可不能夠提交代碼?外部想用這個東西有沒有足夠的說明文檔?使用這個東西出了問題應該找誰?有沒有什麼地方能夠討論出一套解決方案?別的公司能夠用你 的東西嗎?而你會用別人的東西嗎?好比說Hadoop,源於Yahoo,不少公司都在用,Facebook也在用也在不斷貢獻,它同時也在開源本身的一些 技術,Facebook開源的技術Yahoo也能用,Yahoo也會做出貢獻。
開源之因此有意義就是由於,每一個人均可以提交補丁,爲它做貢獻,最終達到你們都獲益的效果。而國內的現狀就是你不用個人,我也不用你的,我不在乎別人用不用個人東西,我也不在乎這個東西接下來的發展,我只是做出一個姿態:這個東西開源了。比 如說最近兩年,你們都號稱開源了本身的底層數據庫,而爲何你們最終都只是各作各的?說白了這也不過是一種廣告而已。而不是我爲你的項目貢獻,讓我本身變 的更好。我以爲一個好的狀態應該是,一個項目出來,沒有人在乎這個項目是誰的,沒有人算計和計較究竟誰獲益較多。其實開源就應該是大公司搞了,用本身的資 源和錢來支撐這個項目,最後作出有益的東西,而不是隨便玩玩。
圖靈社區:你常常被捲入網上的一些爭論中,你怎麼看待這件事?
我一直都認爲本身是個不太聰明的人,可是雖然這樣我仍然在茁壯成長。之因此有些人以爲我很自信,是由於我會花時間學習,我認爲我已經掌握了令本身信 服的東西以後,纔會力排衆議。可能有人花一個小時查幾個名詞解釋就能夠頗有底氣,可是我可能要花5個小時才能把一些東西搞明白。你能夠「拍」我,只要你的 道理是通的,我也會常常糾正本身的觀點。我但願能夠用做研究的態度來爭論一些觀點,可是實際過程當中可能未必控制得好。
我以爲程序員在討論技術話題時,不要扯太遠,能給數據就給數據,沒有數據也能夠講道理,不要繞。我很煩討論的時候偏離主線,繞得很遠。好比說,你說你的作法速度快,我測了一下以爲速度不快,你就說「這個作法還有其餘好處」,結果就越扯越開。原本談技術,談到後來又扯到用戶體驗。前 段時間在討論內存大小的問題,有人說某某狀況下有內存泄漏,而後我和別人作過實驗沒有內存泄漏,後來對方又說內存大有什麼很差,結果實驗下來實際上只是系 統認爲沒有必要及時釋放而已,接着對方又說這會讓用戶體驗很差會讓界面卡,可是爲何會影響用戶體驗?你必須拿出一些證據。這種狀況下話題越扯越多,原本 一開始討論的是什麼就無論了。轉移話題也是能夠的,可是個中關係應該講清楚,從內存大到用戶體驗,中間涉及到一系列的爲何,這些就是應該說清楚的。
還有程序員大都比較「機靈」,不管什麼結論都能找出理由來。例如,有人在蘋果東西賣的很差的時候會說它的產品多麼好,而新產品無甚亮點的時候,又會說這種保守策略很正常,你看賣的不照樣很好麼?這種「爭論」就很沒意思,正過來反過去都是你說了算,因此我也很討厭許多產品經理和分析師。話 說這方面仍是Amazon好,其實我最喜歡的公司是Amazon,它真正推進了雲服務產業,並且電子書和平板設備都在不斷超越本身,還賣的那麼便宜,還沒 那麼多不理智的粉絲。有些爭吵的影響力很大,你們轉來轉去的,而不少這樣的爭論在我看來都沒啥價值,但有時候我也會控制不住。
我不反感別人噴,可是我反感別人亂噴,我微博上也關注了一些喜歡噴的朋友,由於噴得有道理,不亂噴,我以爲挺不錯的。我喜歡看別人吵架,可是這要創建在雙方都能說出道理的前提下。網 絡上大部分的吵架都沒法讓人吸收到養分。不少人吵架都是意氣之爭,一語不和,就開始爭論,都是想贏,而不是關注問題。固然我也不贊同有些人說在爭論技術的 時候必定要心平氣和,口不吐髒字,用最平和的方式來討論。最重要的是邏輯必定要清晰。我在推Wind.js的時候必定會把適用場合說清楚,而不是一律而論 說它哪都好。我不會爲了推廣本身的概念而忽悠人或者貶低別人。我只會說我認爲正確的東西。
因此我還真不適合當銷售,徹底就是個碼農。