天天看點

《你的燈亮着嗎》

《你的燈亮着嗎》

image.png

走出問題的烏托邦

――代序

也許你是一名普通的程式員或者一個底層的職員,你的工作就是保質保量地完成上級交給你的任務,你有時會困惑為什麼你努力的工作始終得不到上級的賞識和提拔。也許你是一名軟體開發小組的負責人或者上司着數十名員工的經理人,你的工作就是按部就班地将你接到的任務分成小塊之後分排給你的下屬,我猜你一定常常會頭痛于上級變化無常的要求和下級死魚一般的回報。也許你站在了系統分析和首席設計師的位置,或者你是麾下聚集了一大批精兵強将的企業家,你一定會為你的那些莫名其妙的下屬不明就裡的行為搞得頭昏腦

脹,你會在一個人的時候大聲地抱怨:真搞不明白這幫家夥腦子裡在想些什麼!

那麼,你知道自己在考慮的是什麼?自己在做的又是什麼嗎?或者說,你的所做究竟是解決了什麼問題?解決了誰的問題?是否真正解決了她的問題?或者說,你的所想究竟是基于什麼需求?滿足了誰的願望?是否真正達到了人們的需要?

面對諸如此類的追問,你會有什麼樣的回答呢?

在這一刻,您,作為我的一個讀者;我,有理由相信您的判斷,相信您是一個希望解決真正問題的人,相信您并不甘于碌碌,相信您有能力也願意去了解這一本書的初衷;如此,就讓我們開始這一段并不漫長的閱讀。

這原本是一本寫給計算機程式員們的通俗書,原作者溫伯格宣稱,寫作它的目的是為了幫助程式員們搞清楚自己所面臨的問題的真正所在,以便能夠找到一種最為合适的方法來解決它們。本書在1982 年發行了它的初版,令人吃驚的是,它出版之後立刻成為了風靡一時的傑作。“問題的真正所在”成為了當時最流行的術語;而在問題解決領域也迅速被人們奉為經典。把本書一次又一次推上排行榜首的讀者們發現,書中所指出的問題大多是他們所困惑的。

是什麼,讓這本薄薄的小冊子具有如此的魔力?又是什麼,讓身為軟體界泰鬥巨葩的老先生傾力寫作這樣的通俗獨幕喜劇?

從本書的一些介紹中,我們看到書中似乎在真切地關注諸如:人們如何思考?人們在遇到棘手的難題時會怎麼思考并處理?對于某一個特定的問題,人們會用什麼樣的角度去思考?等等之類的問題。然而這些,都不是這本書中能給你解決的問題,甚至可以說,這本書不能給你解決任何問題。

在我們幼年的時候,我們對世界充滿了憧憬;在我們青年的時候,我們心中滿懷着理想;在我們壯年的時候,我們認為自己已經堅定地将地球踩在腳下;而在我們老年的時候,我們發現突然間有了足夠的時間來後悔以前所作的一切。

我們在世間生存,各各尋找自己的生存方式。

但這世間并不常常如願,我們的生活被各種各樣的小節所糾纏,我們的事業被各行各業的敵友所阻攔,我們的愛情因對方瞬息萬變的要求而蹒跚。然後,我們忙碌于柴米油鹽醬醋茶,我們奔波于甲乙丙丁你我他,我們搞不清夫妻從何處收集了那麼多淚花。

是的,我們彷徨,苦悶;在被人問及我們自己的需要的時候,我們苦笑。

不識廬山真面目,隻緣身在此山中。如果我們無法跳出作為個人的境地,還停留在不斷地接受問題、不斷地“發現問題”、不斷地“解決問題”的怪圈中,我們永遠無法知道自己“需要什麼”和“正在幹些什麼”。面對變化多端的世界,面對錯綜複雜的問題,我們一籌莫展,一腳踏進焦油坑不知前路茫茫。

一位少年去拜訪智者。他問:我如何才能快樂地解決我所遇到的問題呢?智者告訴他四句話:把自己當成别人;把别人當成自己;把别人當成别人;把自己當成自己。智者的話道出了看待事物的最重要的立場問題。

而這,正是本書首先提出的主題:1)動手去解決問題之前,好好想想問題的來源;2)如何站在各個角度來看待面臨的問題,以能夠知道其真正所在;如何去嘗試那個最能解決真正問題的方法,并且時刻保持警惕心;3)為什麼不要把人們的解決方法誤認為是問題的定義,更不要把某個問題的解決方法誤認為是問題的定義,特别是這個解決方法是你自己所使用的;4)永遠都不要肯定自己已經有了一個正确的定義,即使是在問題好像已經解決之後。

可能很多人會問:“那麼這本書最終将給我帶來什麼?它能幫助我解決什麼問題?”

如前所述,現在我們努力尋找問題的真正所在,我們可能已經列出了一系列的可能的問題定義,我們總該開始解決問題了吧。

結論并不樂觀,本書認為:5)每一種解決方法都會帶來新的問題;6)問題最難以處理的部分恰恰是去意識到它們的存在;7)在了解問題之前,至少要做好準備接受三種可能的出錯情況;8)或許還可以改變問題的表述來獲得不同的解決方法;9)當你沉迷于尋找問題定義和解決方法時,不要忘記随時都回頭看看,看看自己是不是已經迷路了⋯⋯

随着對問題的逐漸深入,我們發現世界并不如原來所想那麼确定。那麼,我們是否已經迷路了?

本書的兩位作者都是ACM 的資深教師,他們的職業生涯中從來沒有停止過與“計算機程式員”的對話。以往,在人們的眼中,計算機需要處理的問題就是一個有着明确的定義的問題,通過泾渭分明的“0”和“1”的種種組合、運算,最終給出明确的答複。随着經驗的增長,作者發現“如果在對技術的使用和建構過程中沒有賦予足夠的人文方面的重視,技術将毫無價值,甚至是危險的(technology is worthless - even dangerous - if we don't pay attention to the human aspects of both its use and its construction)”。

與世界上的其他動物相比,人類恐怕是最為多變的了;可惜的是,我們所遇到的絕大多數問題都離不開這種多變的動物,甚至往往都是源自于這種動物。他們不止多變,還多疑、自私、自以為是。

在這個時候,大師提醒我們:10)當别人能夠很好地解決自己問題的時候,千萬不要越俎代庖;11)如果某人能夠解決這個問題,但是他本人卻并不會遇到這一問題時,那麼你首先要做的就是讓他也感受到這一問題;12)不管看上去如何,人們很少知道他們要什麼,直到你給了他們所需要的東西;13)甚至,事實上,并沒有多少人真的希望他們的問題被解決。

如果說這是一冊教科書,那一定是我太偏愛了故事;如果說這是一束獨幕喜劇文,那一定是我太沉迷于思考;如果說這是程式員解決問題的指南,那一定是我忽略了問題的普遍性;如果說這将改變你的生活,那一定是你洞察了其中的奧秘。

誠如作者所說,“問題其實就是你的期望和你的感受之間的差别,而且不管看上去如何,人們很少知道他們要什麼⋯⋯直到⋯⋯你給了他們所需要的東西”。那麼,讀者朋友,你是否為此感到了差别?你是否已經找到你所需要的東西?

或者,您在這一刻已然豁然,這世間并不存在解決一切問題的奧義,将希望寄托在某種思想和方法僅僅是欺騙自己的麻醉劑;那麼,作者會說:在出門的時候,您家的燈亮着麼?

或者,您在這一刻決然行動,解決問題之路終歸需要我們自己的步履,在這裡惶惶而談無疑是浪費智者的生命;那麼,也許,書中的某一個故事,将給您一段生活的經曆。

在我的孩提時代,有一個美好而遙遠的遐想,我想這人間的一切,必然有它存在的道理,總有一天,我會找到這種道理,于是我就通曉了世界。随着年齡的增長,我學到和發現了越來越多的規律和定理,卻常常在紛繁的事務中迷失自我,我的世界逐漸走向真實,兒時的夢想成為了永不能實作的烏托邦。

于是我不再寄希望于那些虛無缥缈的新發明和新技術,隻想默默地投身于傳統的産業,希望用經驗和汗水來成就一方事業。

于是作者也并不寄希望于能通過這個小冊子給您帶來問題解決的飛躍,隻是輕輕地提醒您一聲:真正的問題所在可能并不是您現在的所想,換個角度分析,或許您已經找到了問題的真谛。

章柏幸 于清華園

2003 年4 月

個人介紹:

** 高廣超** :多年一線網際網路研發與架構設計經驗,擅長設計與落地高可用、高性能網際網路架構。目前就職于美團網,負責核心業務研發工作。

本文首發在

高廣超的簡書部落格

轉載請注明!

《你的燈亮着嗎》

繼續閱讀