天天看點

《程式員的修煉——從優秀到卓越》一一1.6 勿以專家自居

本節書摘來自異步社群出版社《程式員的修煉——從優秀到卓越》一書中的第1章,第1.6節,作者:【美】jeff atwood,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

程式員的修煉——從優秀到卓越

對于權威,我心存芥蒂。我在“strong opinions, weakly held”(觀點鮮明,但不固執己見)一文中曾經說過下面的話。

當我了解到别人把我視為專家或者權威,而不是像夥伴一樣的志趣相投者時,就會覺得局促不安。

如果非要我說在迄今為止的職業生涯中學到的一點東西的話,那一定是:當你用專家或者自以為洞悉一切的眼光去面對軟體開發時,必将面臨失敗。

如果真的有所謂的專家的話,他們一定要比普通人更加不可信,因為他們不夠客觀。各位讀者應該像懷疑身邊所有的東西那樣懷疑我寫的内容。自己調查研究得來的資料應該勝過你從别人那裡得來的資訊,無論那些人被你、我、谷歌乃至大型社群認為有多麼權威。

你和那些自以為是專家的程式員共事過嗎?應該感覺很痛苦吧?我就有過這樣的經曆。你或許會說我已經對專家有了偏見。那麼,維基百科(wikipedia)和我一樣——在維基百科上有一段标題為“給予專家編輯者的警告”的文字做了如下解釋。

1.專家們會通過對經驗和證書的展示來證明自己與衆不同。如果總是默不作聲,是沒有辦法向人證明自己的專業的。但事實上,通過這種方式來證明自己的專業是毫無意義的。

2.專家們沒有解決編輯沖突的特權:如果一個專家和一個普通人對于某段内容存有争議,專家不允許擺架子宣判自己勝出。總之,在維基百科,不管你是不是專家,像“因為是我說的”這樣的話是不會被接受的。同樣,專家貢獻的内容是不會被保護的,普通人可以在後面的版本對其進行修改。理論上來講,編輯的品質才是決定性因素。

3.在維基百科,有一股強大的反專家思潮。如果你是專家,那麼對你的要求會比對常人的更高。

在這裡,我們可以體會一下這個由整個社群的人來維護的、自由的、開放的百科全書對于專家貢獻的懷疑論。但是,這樣做可行嗎?

我想說,不去考慮這些内容的來源,而隻靠對内容的嚴格稽核,這恐怕是唯一可行的方法了。這是對于權威的一種激烈挑戰。但是,這種挑戰恰恰是必要的。這個世界上隻有少數的專家,卻有大量的普通人。當你想要建立一個包含各種資訊的網站時,這些普通人的貢獻是最最重要的。這是一個不規則的世界,裡面裝滿了無窮無盡的細節。對于這一點的認識,恐怕沒人能超過程式員了。每天與各種細節做着鬥争的程式員,他們對目前的問題擁有最多的認識;對于這些細節,并沒有多少專家能夠了解。

于是,當人們普遍認為專家意見(往好了說)是不切實際,或者(往壞了說)是累贅的時候,成為專家還有什麼意義呢?在最近的一次谷歌訪談中,james bach描述了一個後現代專家的典型形象——他就是《摩天大樓失火記》1中的steve mcqueen。

(轉向消防局局長)“kappy,我們現在的情況怎麼樣?”

“火是從81層的儲藏間開始的,煙非常大,我們目前無從得知煙已經蔓延到哪裡了。”

“那排氣系統呢?”

“應該會自動打開的,可能是引擎燒壞了。”

“那灑水器呢?”

“81層的灑水器沒發揮作用。”

“為什麼?”

“我不知道。”

《程式員的修煉——從優秀到卓越》一一1.6 勿以專家自居

(轉向設計師)“jim,給我快速介紹一下這裡的救火供水管系統。”

“每層都有3英寸和1.5英寸的出水口。”

“每分鐘加侖數是多少?”

“從底層到68層是1500,從68層到100層是1000,100層以上是500。”

“這些電梯有應急程式嗎?”

“有的。”

“那你打算從哪一層開始?”

“79層。那裡是我的辦公室。”

“也就是火災下面的兩層。那将會是我們的前方指揮部。大家帶上工具。另外我想看看從81層到85層各層的規劃。”

“好的。”

(轉向安保總監)“給我一份你這裡的住戶清單。”

“不用擔心,我們正在把他們轉移出來。”

“不是那些住在裡面的人,而是那些在這裡的商戶。”

“我們很幸運,絕大多數人還沒有搬進來呢,其餘的晚上都下班了。”

“我想知道他們都是些什麼人,不是他們現在在哪兒。”

“他們是什麼人?這有什麼關系嗎?”

“有羊毛或者絲綢的生産商嗎?這些材料燃燒之後會釋放出氰化物氣體。或者有體育用品的生産廠商嗎,比如乒乓球?這些東西燃燒之後會釋放出有毒氣體。還要我繼續往下說嗎?”

“好吧,我去給你準備一份住戶清單。”

(轉向救火隊長)“都準備了些什麼?”

“升降機組,中央控制。貨梯在這裡。空調的輸送管,6英寸的。”

“管道都在這裡嗎?”

“1個,2個,3個,4個,5個。”

“81層有沒有施工的地方?有沒有易爆物,比如汽油、清洗劑?”

“我想沒有。”

這段對話除了告訴我們steve mcqueen脾氣不太好之外,還有什麼呢?作為一位專家,重要的不是告訴别人你知道什麼,而是要清楚你應該問什麼樣的問題,并且靈活運用你所掌握的知識去解決眼下的具體問題。作為專家,你的作用是提供明智的、可執行的方向。

我喜歡james bach的演講的原因是,他把演講的整個前半部分時間都用在質疑和颠覆所有的一切上了,包括他的領域、專業知識,甚至他自己的名聲和信譽。在那之後,他才通過一個持續學習的過程,慢慢地、小心翼翼地進行重塑。

第0階段:我克服了漫不經心。

我現在明白了,我需要學點東西。

第1階段:我克服了恐懼。

我覺得我可以學會這個科目或者技能。我會對它變得很了解,而不會懼怕比我懂得多的人。

第2階段:我變得有條理。

我不再覺得自己不懂裝懂或者不學無術。我覺得我有能力參與讨論或實踐。我對自己說的話很有信心。

第3階段:我超越了自身能力。

現在我覺得對自己有了更高的要求,不再停留在“過得去”而沾沾自喜。我想冒一點風險,富有創造力,不斷學習,不斷推動自己進步。我想要與那些充滿熱情的人共事。

james bach先生太有洞察力了,他就是我最喜歡的那種“海盜學者2”。他給新近成為專家的那些人提了一些建議:

實踐,實踐,再實踐!

不要把經驗和專業知識混淆。

不要相信口口相傳,但可以了解一下。

不要單憑信仰,要有自己的方法論。

擁有自己獨特的學習方式——這點沒人能幫你。

請愛惜羽毛。建立并維護自己的聲譽。

孜孜不倦地收集資源、資料和工具。

建立自己的标準和道德規範。

避免那些庸俗的技能認證。

與那些自我要求高的同僚一起工作。

多寫,多說,保持誠實。

當然,bach先生在這裡談論的是測試,但我相信這些建議一樣可以被用于程式開發,或者其他會用到你的專業能力的領域。從懷疑一切開始,而且一開始的懷疑對象更多的是自己。

如果你想成為一個真正的專家,而不是徒有虛名,那就效仿一下steve mcqueen吧——不要隻是告訴别人該做什麼,而要做一個善于問問題的人。

繼續閱讀