微軟亞洲研究院首席研發(fā)經(jīng)理鄒欣在工作之余,出版了幾本書,其中《編程之美》、《構(gòu)建之法》在程序員界頗具名氣。他還是在微博社交網(wǎng)絡(luò)平臺擁有 30 余萬粉絲的大 V。既然寫書,可能也是個讀書人?這次,我們請他談?wù)勊矚g的專業(yè)書。
我今天想通過三個公式,向大家介紹 IT 行業(yè)中一些有趣的書。
第一個公式:程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法
Algorithms + Data Structures = Programs
中文版:《算法 + 數(shù)據(jù)結(jié)構(gòu) = 程序》
作者:Niklaus Wirth
推薦理由:《算法 + 數(shù)據(jù)結(jié)構(gòu) = 程序》是一本經(jīng)典書籍,我在大學(xué)三年級的時候,要做編譯原理課的項(xiàng)目,就去圖書館借了這本書看。當(dāng)時覺得這種經(jīng)典書籍一定非常難懂,結(jié)果卻出乎我的意料,這本書對編譯原理和程序設(shè)計(jì)的各種技術(shù)講解得非常清晰。說實(shí)在的,它比我們課堂上用的自編教材好多了。后來隨著閱讀書籍的增加,我發(fā)現(xiàn)要真的弄懂一個領(lǐng)域,還是要讀那個領(lǐng)域經(jīng)典的書,而且這些大部頭的經(jīng)典往往非常好懂(當(dāng)你有耐心的時候)。
編程領(lǐng)域還有很多好書,今天我們主要講軟件工程和創(chuàng)新方面的書,所以編程方面只列一本。
第二個公式:軟件 = 程序 + 軟件工程
很多 IT 專業(yè)的同學(xué)不但不看書,連程序都寫得少,考試就靠老師劃的重點(diǎn)。談起專業(yè)書,有人問,專業(yè)書是否都充斥著好多原則和教條,需要劃重點(diǎn)線和背誦的,例如 “二十三條設(shè)計(jì)模式”?其實(shí)并不對,IT 行業(yè)這幾十年有這么多有趣的技術(shù)、人物、故事,這些都在各種有趣的書里面,錯過這些書,實(shí)在太可惜了。本文中推薦的書都很有意思,而且能引起思考,并不強(qiáng)求大家劃重點(diǎn)和背誦。
Agile Software Development, Principles, Patterns, and Practices
中文版:《敏捷軟件開發(fā):原則、模式和實(shí)踐》
作者:Robert C. Martin
推薦理由:這本書從實(shí)踐出發(fā),講解了敏捷方法、OO 設(shè)計(jì)原則和設(shè)計(jì)模式。這本書并不是靜態(tài)地羅列并贊美 N 種設(shè)計(jì)原則和模式,而是分析原則和模式產(chǎn)生的必要性和使用的時機(jī)。例如對于 “單一職責(zé)原則(SRP)”、“開放封閉原則(OCP)”,作者寫到:
變化的軸線僅當(dāng)變化實(shí)際發(fā)生時才具有真正的意義。如果沒有征兆,那么去應(yīng)用 SRP,或者其他原則都是不明智的。
遵循 OCP 的代價也是昂貴的…… 顯然,我們希望把 OCP 的應(yīng)用限定在可能會發(fā)生的變化上?!?… 最終,我們會一直等到變化發(fā)生時才采取行動。
回頭看看許多大學(xué)在編程和軟件工程課上給學(xué)生布置的作業(yè),有 “變化的軸線么”? 有需求的變化么?沒有!那既然不用考慮任何變化,為何不把所有的功能放在一個大類里面,或者就寫在 main () 函數(shù)里面?管他什么 SRP、OCP 原則、內(nèi)聚、耦合、信息隱藏?當(dāng)在課程中沒有足夠復(fù)雜性、易變性的軟件工程要求的時候,學(xué)生的低質(zhì)量作業(yè)恰恰是明智地完成了老師的要求。有同學(xué)還陷入 “軟件工程的原理沒用” 的誤區(qū):
"
哎,你看我搞了一通宵,就寫好了程序,得了高分。也不用啥軟件設(shè)計(jì)的原則,事先也不用需求說明書,也不留什么文檔,就搞定了,軟件工程對我沒用!
"
這是值得軟件工程老師深思的。
Refactoring: Improving the Design of Existing Code
中文版:《重構(gòu):改善既有代碼的設(shè)計(jì)》
作者:Martin Fowler
推薦理由:“Make it work, make it right, make it fast, make it extensible.” 這本書提供了許多在 OO 開發(fā)模式下 “make it right”、“make it extensible”的建議。重構(gòu)是 “不改變軟件可觀察行為的前提下改善其內(nèi)部結(jié)構(gòu)”。我們想把程序的結(jié)構(gòu)變好,方便程序員理解、測試、維護(hù) (right),也方便將來的擴(kuò)展 (extensible)。大學(xué)生們交了軟工大作業(yè)之后,還會去理解、測試、維護(hù)、擴(kuò)展它么?如果沒有,那就解釋了為何在大學(xué)里沒有人理解重構(gòu)的意義,也沒有得到軟件工程的鍛煉。
很多同學(xué)認(rèn)為,科學(xué)和理論很重要,軟件工程似乎就是多寫代碼。這種觀點(diǎn)是非常錯誤的。計(jì)算機(jī)科學(xué)與軟件工程各有自己的特點(diǎn)和側(cè)重點(diǎn),要在這兩個領(lǐng)域取得成就,就要按照不同領(lǐng)域的規(guī)律來實(shí)踐。計(jì)算機(jī)科學(xué)家 Tony Hoare 精辟地總結(jié)過兩個學(xué)科的不同側(cè)重點(diǎn):
Engineering—An Endless Frontier
中文版:《工程學(xué):無盡的前沿》
作者:歐陽瑩之
推薦理由:本書作者論證了當(dāng)今的工程學(xué)不僅是科學(xué)的合作者,而且應(yīng)該處于等量齊觀的地位。
譯者之一李嘯虎對本書的解讀是:
哲學(xué)家的宗旨是:“我思,故我在。”
科學(xué)家的宗旨是:“我發(fā)現(xiàn),故我在?!?/p>
而工程活動主體(工程師和企業(yè)家)的宗旨則是:“我構(gòu)建,故我在?!?/p>
工程師構(gòu)建了新的軟件、新的交流工具(互聯(lián)網(wǎng)),讓新一代的科學(xué)家們能在此基礎(chǔ)上作更多的科學(xué)研究。
最近火熱的 AI 的主要核心算法在三十年前就已經(jīng)出現(xiàn),為何三十年前 AI 沒有突破,而現(xiàn)在才有大規(guī)模的突破?因?yàn)楣こ處煷罱嘶ヂ?lián)網(wǎng)和與互聯(lián)網(wǎng)相關(guān)的各種應(yīng)用,讓大量的數(shù)據(jù)能產(chǎn)生并為科學(xué)研究所用;并且,計(jì)算機(jī)體系結(jié)構(gòu)工程師、芯片工程師、軟件工程師設(shè)計(jì)和實(shí)現(xiàn)了各種分布式算法,讓以高性能 GPU 為代表的算力能有效率地為 AI 訓(xùn)練服務(wù)。這才讓 AI 有了今天百花齊放、百家爭鳴的繁榮景象。
工程學(xué)不是別的學(xué)科的附庸,它有自己的規(guī)律,我們工程師要認(rèn)真研究和探索。
Dreaming in Code
中文版:《夢斷代碼》
作者:Scott Rosenberg
推薦理由:很多同學(xué)胸懷大志,覺得自己技術(shù)很牛,萬事俱備,就差一大筆啟動資金了;也有同學(xué)發(fā)現(xiàn)了很好的想法,就差一個給力的程序員。如果把技術(shù)和想法結(jié)合起來,創(chuàng)業(yè)賺大錢豈不是如同探囊取物一般簡單?這本書就講了這樣一個故事:一個有技術(shù)大牛、資金和宏大目標(biāo)的團(tuán)隊(duì),為何七年做不出一個好軟件?作者 Scott 忠實(shí)地記錄了這個團(tuán)隊(duì)七年中的各種折騰、各種軟件工程的錯誤。這些實(shí)踐中的錯誤和對錯誤的分析,價值遠(yuǎn)遠(yuǎn)大于那些成功學(xué)的雞湯和煽情的新聞報道。
軟件開發(fā)離不開人:人的動力,人的發(fā)展
PeopleWare: Productive Projects and Teams
中文版:《人件》
作者:Tom Demarco、Timothy Lister
推薦理由:由一群人組成的團(tuán)隊(duì)怎么樣才能提高軟件開發(fā)的效率?把辦公區(qū)搞成整齊劃一的格子間有助于電源線和網(wǎng)線的布置和衛(wèi)生的清理,但是對工程師的效率有正面還是負(fù)面的影響?IT 工業(yè)有軟件、硬件,它們都很容易被替換,那么在 IT 工業(yè)中的人是否也是統(tǒng)一規(guī)格,隨時可以替換的 “人件”?這本書通篇講述了相反的觀點(diǎn):不是把人當(dāng)作零件來用,而是要尊重人,發(fā)揮人的潛能,通過有情商的人來創(chuàng)造高效率的團(tuán)隊(duì)。在這樣的原則下,很多令人煩惱的問題都有不錯的解決方案:如何提高效率、如何處理質(zhì)量和成本的矛盾(注:它們沒有矛盾,高質(zhì)量會帶來低成本和愉悅的團(tuán)隊(duì))、人員去留、團(tuán)隊(duì)文化等等。本書特別適合互聯(lián)網(wǎng)公司的中層領(lǐng)導(dǎo)來閱讀。
Professional Software Development
作者:Steve McConnell
推薦理由:“軟件工程” 和 “計(jì)算機(jī)科學(xué)” 有什么區(qū)別和聯(lián)系?現(xiàn)在軟件和 AI 都很時髦,那么熱潮過后呢?如果軟件工程是一個獨(dú)立的 “職業(yè)”,那么個人、機(jī)構(gòu)和整個行業(yè)應(yīng)該有什么樣的原則、規(guī)范和行為準(zhǔn)則?例如,現(xiàn)在的醫(yī)生都要通過嚴(yán)格的考試獲得行醫(yī)執(zhí)照,你才有信心把自己的身體和各種個人信息交給醫(yī)生。那么,碰到一個自學(xué)編程、號稱能做 AI 應(yīng)用的業(yè)余愛好者,客戶似乎很輕易地就把自己的電腦和各種信息都交給了 TA,這是一個成熟產(chǎn)業(yè)應(yīng)該有的現(xiàn)象么?這本書可以給你這些問題的答案。
Programmers at Work
中文名:《編程大師訪談錄》
作者:Susan Lammers
推薦理由:本書是 19 位 1980 年代的優(yōu)秀程序員的采訪錄。和這本書的中文名字暗示的不一樣,他們當(dāng)時還是不是“大師”,而是在第一線每天寫代碼的工程師。在計(jì)算機(jī)行業(yè)發(fā)展的早期,計(jì)算機(jī)的能力還是很有限,但是這些程序員無一例外都認(rèn)為計(jì)算機(jī)能極大地改變社會,十分熱情地投入他們的工作,他們堅(jiān)信星星之火可以燎原。幾十年過去了,回過頭看看那些先鋒人士總結(jié)他們成功的經(jīng)驗(yàn),他們對 “未來” 的期望(有些預(yù)計(jì)非常準(zhǔn)確?。?,是非常有意思的事情。
Coders At Work
中文版:《編程人生:15 位軟件先驅(qū)訪談錄》
作者:Peter Siebel
推薦理由:本書是對 15 位頂級程序員的深入采訪,600 頁內(nèi)容中有非常多的心得可以在軟件工程的實(shí)踐中借鑒。這些優(yōu)秀工程師、科學(xué)家閱人無數(shù),對于優(yōu)秀程序員的特點(diǎn), 都說是 “熱情”。
但是如果在面試時問 “你對技術(shù)有熱情么?”所有回答都是肯定的。如何判斷一個程序員是否真正有熱情?他們的建議是:
你要在場景中、對話中感覺對方的 “熱情”。如果一個念了 5-7 年計(jì)算機(jī)專業(yè)的人,不能 “兩眼放光” 地給你講他自己最得意、最激動人心的項(xiàng)目或創(chuàng)造,如果他除了老師的作業(yè)和實(shí)驗(yàn)室的項(xiàng)目之外,沒有別的想法,也不能對你所在的領(lǐng)域提出深刻的問題,你覺得這種人有多少 “熱情”?
Code Complete (2nd Ed)
中文版:《代碼大全 (第二版)》
作者:Steve McConnell
推薦理由:本書是軟件開發(fā)的百科全書,是這個領(lǐng)域必讀的一本書?!癈ode Compete” 是指軟件開發(fā)過程中的一個狀態(tài) “代碼完成”,表示所有該寫的代碼都寫出來了(可能還有很多 bug)。中文名比較誤導(dǎo),這本書并不是包括所有千奇百怪的代碼。
另外一本經(jīng)常被引用的是:《人月神話》,我個人感覺,這兩本經(jīng)典都被大多數(shù)人買來裝飾了書架,并沒有認(rèn)真讀、經(jīng)常讀,不然我們軟件行業(yè)就不會還有那么多不靠譜的項(xiàng)目計(jì)劃和那么多 bug 了。
第三個公式:企業(yè) = 軟件 + 商業(yè)模式
顛覆式創(chuàng)新,有規(guī)律嗎?
Where Wizards StayUp Late: The Origins of the Internet
作者:Matthew Lyon、Katie Hafner
推薦理由:這本書用生動的筆觸描述了互聯(lián)網(wǎng)在美國建立的過程,有許多計(jì)算機(jī)科學(xué)和工程的早期人物在此出現(xiàn),很多我們現(xiàn)在習(xí)以為常的規(guī)矩(例如 email 中的 @符號)就是那時候出現(xiàn)的。
Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age
作者:Michael A. Hiltzik
推薦理由:本書講述了施樂公司 PARC 研究院的故事,可歌可嘆。1970-1980 年代的天才和怪才們在一個非計(jì)算機(jī)專業(yè)的 “外行” 領(lǐng)導(dǎo)下,在遠(yuǎn)離公司總部的硅谷做出了很多開創(chuàng)性的工作,包括四項(xiàng)圖靈獎水平的創(chuàng)新。遺憾的是,這些創(chuàng)新死于施樂公司內(nèi)部的短視和官僚流程中,但是這些創(chuàng)新深深地影響了之后的計(jì)算機(jī)行業(yè) —— 包括蘋果和微軟。
我記得書里面講了這樣一個故事:一個學(xué)歷不高的小伙子很有熱情,非常想加入 PARC,但是研究院沒有正式名額了,研究院的人非常愛才,就把他召了進(jìn)來,不能開正式的工資,就以 “打印機(jī)耗材” 等名義,撥錢給他,算作他的報酬。很多年后,這個小伙子在多媒體領(lǐng)域做出非常出色的成就?,F(xiàn)在言必稱創(chuàng)新、愛才的各種研究院敢這么做么?
這本書的標(biāo)題很難被翻譯成中文,大家看過書后,可以試一試,歡迎留言分享你的翻譯。
浪潮之巔
作者:吳軍
推薦理由:本書講述了各個科技公司在各次技術(shù)浪潮中的命運(yùn)。公司領(lǐng)導(dǎo)的洞察力和科技、商業(yè)模式、資本的適當(dāng)結(jié)合,是公司走向浪潮之巔的訣竅。
關(guān)于創(chuàng)新的書有很多,下面的四本書兩兩成對,都是作者在第一本成名作后的二十年左右,寫了第二本書,進(jìn)一步拓展了原有理論,并給出了第一本書中問題的答案:
The Innovators Dilemma
中文版:《創(chuàng)新者的窘境》
作者:Clayton M. Christensen
Competing Against Luck
中文版:《與運(yùn)氣競爭》
第一本書的推薦理由:成功的大公司能聽取用戶的意見,把精力投入增量改進(jìn)現(xiàn)有產(chǎn)品中;成熟的價值鏈從多方面阻止公司去冒險嘗試新興領(lǐng)域;同時,公司為了爭取更高的利潤率,不得不忽視萌芽階段的小市場;專家對新興市場的分析往往基于現(xiàn)有經(jīng)驗(yàn),結(jié)論往往大錯特錯!就這樣,往往有一些名不見經(jīng)傳的小公司從薄利的小市場切入,使用比較粗糙的顛覆式技術(shù),慢慢掀翻了大公司。
第二本書的推薦理由:怎樣創(chuàng)新?如何找到用戶真正需要解決的問題?不能光說 “窘境” 而不給出解藥。這本書提出了 “Jobs To Be Hired”理論,來指導(dǎo)如何提高創(chuàng)新產(chǎn)品的成功率,而不是只靠運(yùn)氣。
Cross the Chasm
中文版:《跨越鴻溝》
作者:Geoffrey A. Moore
Escape Velocity: Free Your Company's Future from the Pull of the Past
第一本書的推薦理由:很多人認(rèn)為大眾對技術(shù)的接受是一道連續(xù)的曲線:一個好技術(shù)在實(shí)驗(yàn)室取得專家的好評,接著就得到早期嘗鮮者的追捧,然后大眾開始跟進(jìn),開始大賣,一舉改變世界。然而,Moore 指出在早期嘗鮮者那里有一道鴻溝(chasm,可以讀作 “開森”),很多早期產(chǎn)品只有某種新技術(shù),但不能解決用戶真正的需求,它就會掉在溝里,IT 界的專業(yè)人士應(yīng)該聽說過很多這樣的故事,很多高大上的技術(shù)創(chuàng)新,在技術(shù)圈子里引起了陣陣叫好聲,但是它們往往跨不過鴻溝而折戟市場,成為非常小眾的產(chǎn)品,或者失敗。作者在這本書里還分享了眾多關(guān)于打造暢銷產(chǎn)品的真知灼見。
第二本書的推薦理由:一個行業(yè)大家都了解,大家的招數(shù)都差不多,都在類似的軌道中打轉(zhuǎn),沒有明顯的贏家。除了降價,你似乎想不出什么辦法,怎么辦?這本書教你如何分析決定產(chǎn)品成功的各種因素,如何調(diào)整動能和勢能,讓你的產(chǎn)品比別人好十倍,獲得 “逃離速度”,別人的產(chǎn)品還在辛苦地繞著地球轉(zhuǎn),你的產(chǎn)品已經(jīng)擺脫了地球引力,一飛沖天了。一個團(tuán)隊(duì)的資源和時間非常有限,我們可以開發(fā)各個方面的新功能,你通過什么方法來取舍,決定優(yōu)先級?Geoffrey 提倡的四個象限的分析方法獨(dú)具一格。
企業(yè)成長需要什么精神:Build To Win
我們做軟件有各種做法:
Build To Learn:開發(fā)軟件,構(gòu)建系統(tǒng)的目的是做進(jìn)一步的試驗(yàn),試圖發(fā)現(xiàn)客觀規(guī)律或某個試驗(yàn)方法的優(yōu)點(diǎn)與缺點(diǎn)。這些項(xiàng)目經(jīng)常是科研論文的基礎(chǔ)工作。
Build To Show:為了突出地展現(xiàn)某個技術(shù)的作用,開發(fā)一些演示為目的的軟件,這些項(xiàng)目很吸引眼球,經(jīng)常獲得新聞報道,但是功能未必全面或?qū)嵱谩?/p>
Build To Serve:為了服務(wù)一定范圍的目標(biāo)用戶而構(gòu)建的工具等,有時以公開的 SDK 形式發(fā)布,讓別的研發(fā)人員使用。
Build To Win:以在市場上贏得用戶為目標(biāo)而構(gòu)建的軟件。這也是種種科學(xué)發(fā)現(xiàn)、技術(shù)突破最好的試金石。所有以營利為目的的公司和團(tuán)隊(duì)都在為此努力。
下面推薦幾本體現(xiàn)了 “Build To Win” 精神的書:
盛田昭夫:日本制造精神是這樣創(chuàng)造的
作者:江波戶哲夫
推薦理由:這本書描述了以索尼公司創(chuàng)始人盛田昭夫?yàn)榇淼哪且淮夹g(shù)人員朝氣蓬勃的創(chuàng)新精神,和各種關(guān)于創(chuàng)新、冒險的故事。這套書有很多值得技術(shù)人員和企業(yè)家學(xué)習(xí)的地方。他們創(chuàng)新的第一個產(chǎn)品是電飯鍋!但是由于技術(shù)不過關(guān),這個創(chuàng)新失敗了。但隨后,他們在收錄機(jī)、電器和游戲機(jī)開創(chuàng)了一個時代。
索尼公司的電飯鍋產(chǎn)品
Hard Drive
作者:James Wallace、Jim Erickson
推薦理由:本書客觀描述了 Bill Gates 的成長和微軟公司的前 15 年的發(fā)展。讀了這本書,你就不會相信各種關(guān)于微軟早期成功的小道消息了。當(dāng)被問到成功秘訣時,Bill 的回答很簡短:“You've got to drive hard”。這里 “Hard Drive” 不是指硬盤,而是指 “猛踩油門”。
Inside Intuit
作者:Suzanne Taylor、Kathy Schroeder、John Doerr
推薦理由:商業(yè)理論會談到 “先發(fā)優(yōu)勢”(Frist Mover Advantage)和 “后發(fā)優(yōu)勢”(Second Mover Advantage),Intuit 的創(chuàng)始人分析了市場上所有個人財(cái)務(wù)軟件的情況,發(fā)現(xiàn)市場上已存在 46 家公司,他們自嘲說自己有 47th Mover Advantage。結(jié)果就是這第 47 名的后來者最后成為了市場的 “老大”,打敗了包括微軟公司在內(nèi)的諸多對手。Intuit 早期的兩位工程師還創(chuàng)下了軟件行業(yè)最早的結(jié)對編程記錄 ——1987 年 3 月,為了趕進(jìn)度,他們兩人輪換一人敲代碼,一人在旁邊指揮,連續(xù)工作了六十小時。
Revolution in The Valley: The Insanely Great Story of How the Mac Was Made
中文版:《硅谷革命:成就蘋果公司的瘋狂往事》
作者:Andy Hert***eld
推薦理由:作者 Andy 是 Mac 早期團(tuán)隊(duì)成員,這本書記錄了 Apple 公司的一群年輕人創(chuàng)造 Macintosh 的故事。這些故事有些振奮人心,有些很幽默,有些比較瘋狂。我特別喜歡里面的 “圓角矩形框” 的故事:
在設(shè)計(jì) Macintosh 界面的時候,技術(shù)牛人比爾用了各種技巧,讓 Mac 能很快地畫出各種圓形和橢圓,這在 1981 年的 Mac 機(jī)器上是很了不起的事情。因?yàn)榈谝话娴?Mac 都沒有浮點(diǎn)計(jì)算芯片,運(yùn)算開方和乘除法都很慢。Bill 的算法只用加減法,就做到了畫橢圓,所以速度非???。他激動地給喬布斯演示,喬布斯說:“你也可以把帶圓角的矩形框畫得很快吧?” 比爾有點(diǎn)不爽,因?yàn)楫a(chǎn)品經(jīng)理不但不衷心佩服這個技術(shù),而且還提了新的要求。他說:“不,沒法做,實(shí)現(xiàn)不了,而且我們不需要這樣的圓角矩形框!” 喬布斯認(rèn)真地指出來辦公室里很多物件都是有圓角矩形框,而且他還把比爾拉到屋外散步,一邊走,一邊指出周圍生活中的各種圓角矩形,它們正是用戶非常熟悉的用戶界面元素。比爾只好說 “我試試看……”。第二天,比爾就實(shí)現(xiàn)了快速畫圓角矩形框的算法,這就是 Mac、iPhone、iPad 上面用戶習(xí)以為常的圓角矩形框的來歷。
你也可能注意到了,有些操作系統(tǒng)上的圖標(biāo)默認(rèn)是直角的矩形框,這兩種設(shè)計(jì)影響你使用的效率么?影響你對它們 “美” 的評價么?
Steve Jobs
中文版:《喬布斯傳》
作者:Walter Isaacson
推薦理由:《喬布斯傳》中有很多關(guān)于個人成長、情商、創(chuàng)新、項(xiàng)目管理、企業(yè)成長的經(jīng)驗(yàn)教訓(xùn)。它也讓我們?nèi)媪私饬藛滩妓股械拈W光點(diǎn)和不那么閃光的地方。
在年輕的時候,我很不喜歡看人物傳記,覺得那都是宣傳和吹牛。當(dāng)我有了一些人生閱歷、能耐心讀書的時候,我發(fā)現(xiàn)有些傳記還是很有看頭的。例如在《杰克?韋爾奇自傳》中,杰克在回顧了自己幾十年來招聘員工時所犯的錯誤:
根據(jù)應(yīng)聘者的外表和畢業(yè)學(xué)校來決定是否錄用。(后來他發(fā)現(xiàn):有些人徒有其表,外強(qiáng)中干)
在亞洲招聘時,如果應(yīng)聘者的英語說得不錯,我就很有可能接受了他。(后來他發(fā)現(xiàn):語言能力不是全部能力)
我對那些受過多門學(xué)科教育,有著多個學(xué)位頭銜的簡歷十分偏愛。(后來他發(fā)現(xiàn):有些人不能集中精力在某一項(xiàng)業(yè)務(wù)上,容易散漫,不愿承諾,缺乏對任何一件事情的緊張與熱情)
走了這么多彎路后,杰克意識到真正要尋找的是那些充滿了熱情,希望做出點(diǎn)成績來的人 —— 這和我們前面看到的編程大師的總結(jié)挺像的,可能大家都走過類似的彎路吧?
In Search of Excellence: Lessons from America's Best-Run Companies
中文版:《追求卓越》
作者:Thomas J. Peters、Robert H.、Jr. Waterman
推薦理由:這本上世紀(jì)八十年代的書調(diào)查了當(dāng)時美國優(yōu)秀公司的管理經(jīng)驗(yàn),總結(jié)了卓越管理的幾大要素。里面關(guān)于惠普公司的故事給我留下很深印象:惠普公司的創(chuàng)始人看到公司管理人員下班時把儀器庫房都鎖起來了,很生氣,命令庫房都不上鎖,這樣員工可以拿儀器回家做各種實(shí)驗(yàn)。
在書中當(dāng)年作為正面例子出現(xiàn)的公司如惠普、IBM 現(xiàn)在都碰到了新挑戰(zhàn),而有些公司已經(jīng)不存在了(如王安電腦)。是舊的管理原則不起作用了,還是新的領(lǐng)導(dǎo)層不再真正追求卓越,而是把精力花在創(chuàng)新公司的 logo 這種表面文章上了?下面是我體會比較深的兩個原則:
崇尚行動。實(shí)施 “走動管理”,到問題現(xiàn)場去;鼓勵試驗(yàn)。
用交流、培訓(xùn)、保障和獎勵代替死板的員工手冊;高層主管實(shí)行 “不關(guān)門制度”,任何人都可以上門交流。
后記
我估計(jì)你們會問:為什么推薦的書單有這么多老書?
20 世紀(jì)末,有人問軟件工程專家戴維?帕納斯(David Parnas):將來會有什么令人興奮的軟件工程技術(shù)出現(xiàn)?他回答:最有用的技術(shù)不在將來,而是已經(jīng)出現(xiàn)好些年了,只不過我們沒好好用。我們同樣也可以說,優(yōu)秀的書已經(jīng)出現(xiàn)好些年了,只不過我們沒好好讀。
還有人問:在繁忙的工作之余,你怎么有時間寫完三本書?
我曾經(jīng)在《Weinberg On Writing: The Fieldstone Method》書中學(xué)到了一個方法:當(dāng)寫作遇到阻礙時,我會上網(wǎng)逛逛,通常會發(fā)現(xiàn)一些和軟件工程有關(guān)的案例或趣聞軼事,就把它們都收集起來以備不時之需?!毒幊讨馈?、《構(gòu)建之法》中的一些內(nèi)容,就是來自于網(wǎng)上看到的討論,以及和同事閑聊中得到的靈感。
IT 行業(yè)不光有 996, 還有很多有趣的人、有趣的書, 大家平時喜歡哪些書?歡迎留言分享。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7513瀏覽量
88156 -
IT
+關(guān)注
關(guān)注
2文章
866瀏覽量
63550 -
硅谷
+關(guān)注
關(guān)注
1文章
121瀏覽量
16556
原文標(biāo)題:《編程之美》作者鄒欣:三個公式,23本有趣的書
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論