倍可親

Joel Spolsky在耶魯大學的演講

作者:廣南子  於 2007-12-14 15:31 發表於 最熱鬧的華人社交網路--貝殼村

作者分類:職場心經|通用分類:其它日誌


Joel Spolsky是一個美國的軟體工程師,他的網路日誌「Joel談軟體」(Joel on Software)非常有名,讀者人數可以排進全世界前100名。
                           
                                                         上個月28號,他回到母校耶魯大學,與計算機系的學生座談。他發表了一個演講,回顧自己的人生經歷,並總結了一些個人的體會。
我讀完他的演講稿,很受觸動,覺得他的人生體會非常具有啟示性。這篇演講非常長,分為三個部分()。我沒有時間全文翻譯,就摘錄一些精彩的段落,一共有四段。
大學里最有用的課程
Joel說,他在大學里上過的最有用的課,是一門他只上了一回,然後就再也沒有去過的課。
由於父母都是大學教授,親戚朋友都是學術界里的,大多有博士學位,所以Joel從小就認定自己也會去讀博士,將來搞學術。可是,有一門課程改變了他的想法,使他最終沒有去報考研究生院。
這門課程叫做「動態邏輯」(Dynamic Logic)。在第一堂課上,教授證明了一個命題。假定有一個程序「f := not f,」f是表示真假的邏輯值,那麼結論是程序運行偶數次后,f的值保持不變。整個證明過程非常冗長,要花幾個小時講解,一共有幾十步。課後習題則是,證明如果f值保持不變,那麼程序必然運行了偶數次。
課後,Joel花了很多時間做題,還去圖書館借來了參考書。但是,他逐漸感到這樣做沒有意義:用大量瑣碎的、容易出錯的步驟,去證明一個憑直覺就能認定成立的命題,這不是一個富有實效的工作方法。在Joel看來,計算機更應該用來解決錯誤,而不是讓人們陷入邏輯的陷阱,去產生錯誤。(Idecided that this Dynamic Logic stuff was really not a fruitful way ofproving things about actual, interesting computer programs, becauseyou』re more likely to make a mistake in the proof than you are to makea mistake in your ownintuition.)通過這件事,他認識到,自己不適合做純思辨性的學術研究。因此,他就退掉了這門課,並且以後也沒有選擇去上研究生院。
Joel認為,就是這門只上了一次的課,恰恰成為了他在大學中上過的最有用的課,因為它幫助他選擇了正確的人生道路。
所以,Joel的第一個結論是:人生中重要的是,關注那些真正的問題(real problem),不要陷入那些細枝末節的問題(trivial problem)。就像蘇格拉底說的,「認識你自己」。
此外,Joel說,還有一門叫做CS 323的課,也很有用。這門課有大量的課後習題,都是關於編程的,平均每星期要花40個小時來做題。
Joel發現他能夠做出大部分的題目,更重要的是,他發現自己喜歡做這些題。這樣一來,他就明白自己是適合編程的。另一方面,很多其他學生對這門課感到無比頭疼,覺得編程既枯燥又痛苦,每周40小時做這種題簡直是一種刑罰。這些人於是明白,雖然同樣是計算機系的學生,但是他們並不適合編程。這是一件好事,因為這樣他們就避免了以後選擇錯誤的職業。否則,讓一個不喜歡編程的人,一生都與程序打交道,這是多麼悲慘的一件事啊!
在Viacom的日子
畢業以後,Joel先在微軟公司幹了一段日子,然後回到紐約,進入維亞康母公司(Viacom),為這家巨型的娛樂傳播公司編寫軟體,成為IT部門裡一個程序員(in-house programmer)。
後來,Joel回憶起來,認為這是他一生中最痛苦的日子,並且勸告計算機系的學生儘可能不要去做「in-house programmer」。
原因有三個。
首先,你永遠沒有辦法正確地編寫軟體,你不得不用最方便的方法編寫軟體。因為軟體支出非常高昂,所以公司會要求儘可能節省成本,你不可能試用新技術,只能使用現有的最成熟、最保守的技術。
其次,你沒有辦法將一個項目做到盡善盡美。一旦程序可以正常運行,你的工作也就結束了,可以接下去干公司的下一個項目了。你的作用是解決問題,而不是將軟體寫得儘可能好。如果你是在一個專業的技術性公司,比如Google或Facebook,情況就完全不一樣,你的軟體寫得越好,公司就會越成功,所以公司會支持你在一個項目上不斷做下去。
最後,傳統公司IT部門裡的程序員,只屬於公司內部的維護人員,而不是直接從事核心業務的人員。因此,你永遠辦法進入管理層。但是,在技術性公司,程序員會變成CEO。

因為這三個原因,Joel覺得in-houseprogrammer不是一個好的職業,不幸的是,80%的程序員屬於這一類,年復一年,很多人的生命就是這樣被耗乾的。(it』sfrightening because this is what probably 80% of programming jobs arelike, and if you』re not very, very careful when you graduate, you mightfind yourself working on in-house software, by accident, and let metell you, it can drain the life out of you.)

Joel的第二個結論是:選擇職業時,不要只考慮職位是否專業對口,應該盡量選擇業務方向與你專業相同的公司


                              雖然,維亞康母公司(Viacom)口頭表示很重視網際網路,但是,分配給程序員的工作間,總是很小的屋子,光線黯淡,而且還用擱板分割出小間,供三個人使用。經理們各自的辦公室則完全不同,都有大玻璃窗,可以俯視哈德遜河。
在一次公司內部的聖誕晚會上,Joel見到了負責網際網路戰略的執行董事。Joel問他,公司打算怎麼使用網際網路,後者只是泛泛地說,網際網路很重要,這是未來的發展方向。Joel感到很失望,他相信這個執行董事其實對網際網路毫無認識,只不過是人云亦云。說到底,這個董事對這一切可能根本無所謂,反正他每年都有200萬美元的年薪,保持現狀就是最好。對他來說,Joel就是一個打字員似的「寫網頁的人」,Joel做了什麼和工作中的付出,他並不關心。(It convinced me that he had no flipping idea whatsoever what it wasthat was happening and what the internet meant or what I did as aprogrammer, and he was a little bit scared of it all, but who cares,because he』s making 2 million dollars a year and I』m just a typist or「HTML operator」 or whatever it is that I did, how hard can it be, histeenage daughter can do that.)
所以,Joel決定辭職了。
管理人員的作用
離開維亞康母以後,Joel進了一家叫做Juno Online Services的網際網路公司,這家公司提供網上免費電子郵件服務。那個時候是90年代中期,hotmail和gmail都還沒有成立。
作為程序員,Joel在這裡工作得很愉快,但是公司本身的經營卻不成功。雖然是一家網際網路公司,但是,Juno OnlineServices完全採用傳統的「從上至下」的管理方式,就是領導想出來一個主意,然後命令程序員負責實現,結果就是對技術細節一無所知的人,決定了一切。
這同矽谷的方式完全不同,在那裡,管理人員只負責創造一個良好的工作環境,然後讓真正的聰明人把東西做出來。(What I was usedto from the west coast was an attitude that management is just anannoying, mundane chore someone has to do so that the smart people canget their work done.)矽谷公司內部的運作更像大學里的學術討論會,會議主席的作用只是主持會議而已。
Joel的第三個結論是,公司管理層的作用就是搬動傢具、清理出空間,讓有才華的研究人員做出一流產品。(Managersexist to get furniture out of the way so the real talent can dobrilliant work.)
Juno Online Services經營得不成功,以及對員工才華的不尊重,使得Joel在2000年下定決心,不再為別人打工了,開始創業。

表達能力的重要性
在創業之初,Joel並不知道該去做什麼。他看到許多很蠢的人,拿著很蠢的商業計劃,開辦網際網路公司。他想,這樣的公司都能開出來,那麼我也能開公司,只要我比他們少蠢10%就可以了,我要按照我的想法來管理,對每一個程序員都給予最大的尊重,那樣就有機會做出高質量的產品。我們不關心風險資本家怎麼說,也沒有高高在上的領導,我們只關心客戶的感受,用軟體解決客戶的問題,從而獲得報酬,生存下去。(In those days, I wasseeing lots of really dumb people with really dumb business plansmaking internet companies, and I thought, hey, if I can be, say, 10%less dumb than them, that should be easy, maybe I can make a companytoo, and in my company, we』d do things right for a change.) We』d treatprogrammers with respect, we』d make high quality products, we wouldn』ttake any shit from VCs or 24-year-olds playing President, we』d careabout our customers and solve their problems when they called, insteadof blaming everything on Microsoft, and we』d let our customers decidewhether or not to pay us.)
在這種想法的鼓勵下,Joel創辦了Fog Creek軟體公司。
從創業之初,Joel就開始將自己的想法和遇到的事情,寫成文章,發表在網際網路上。當時還沒有Blog這種東西,但是他其實已經在寫了。Joel慢慢發現,他的文章真的有人看,並且讀者越來越多,其中很多人最終都接受了他的想法。實際上,Joel寫的很多東西都不是原創性的,其中還時不時包括一些笑話,但是讀者不在乎,「Joel談軟體」成了一個熱門網站,平均每篇文章都有幾十萬、甚至上百萬的讀者。
這對Joel的創業幫助極大,Fog Creek本來是一家無名的小軟體公司,但是由於很多人讀Joel的文章,因此他們也了解並且相信Joel的公司。這使得Fog Creek從創業的第一年起就是盈利的,並且每年都在發展。
Joel將創業的成功,部分歸功於他在大學里受過的寫作訓練,那時有一個教授每周都要布置寫論文,並且對平庸的文章恨之入骨,不給學分。這使得Joel學會了將複雜的話題說得清晰易懂,並且引人入勝。
因此,Joel的第四個結論是,一個普通工作人員和一個領袖之間的差別,就是有沒有良好的表達能力。(Beingable to write clearly on technical topics is the difference betweenbeing a grunt individual contributor programmer and being a leader.)
(完)

by 阮一峰

高興

感動

同情

搞笑

難過

拍磚

支持

鮮花

評論 (0 個評論)

facelist doodle 塗鴉板

您需要登錄后才可以評論 登錄 | 註冊

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-4 06:05

返回頂部