http://www.ituring.com.cn/article/14720
圖靈訪談之三十六:專訪趙劼(@老趙)
“碼農人物志”新派碼農代表:趙劼,網名@老趙,洋名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的時候一定會把適用場合說清楚,而不是一概而論 說它哪都好。我不會為了推廣自己的概念而忽悠人或者貶低別人。我只會說我認為正確的東西。
所以我還真不適合當銷售,完全就是個碼農。