為什么驕傲會妨礙我們程序員的進步
英文原文:Why pride of programmers stops their progress
這是一個有爭議的話題,我的表述僅代表我的觀點。
在詳細解述題目的這個問題之前,我先講個真實的故事。
我們公司有個非常有才華的人,叫 Jim。他剛學編程不久,確切的說是在 4 年前吧,在我眼里,他真的非常有能力,并且肯定能在這一行大展宏圖、展翅高飛。也因為他的能力很強,所以在我進這個公司之前,凡是大家有什么關于代碼的問題,首先去找的就是他。
起初,我還挺不理解為什么大家會如此崇拜他。不要誤會我的意思,我再次強調,我也認為他很能干,我心中的困惑主要是因為他編程的時日尚短。
其他員工告訴我他們特別欣賞關于他的傳奇歷程。然后我想如果這個傳奇是真的話,那么我和他一定會相處愉快的,因為我第一次感覺到,我終于找到一個能暢談的知音了,可以討論復雜算法、代碼優化等等不能隨便抓一個程序員就能談論的話題。
而我會這么想是因為有兩種類型的程序員,一種是消極型的,上班編程,寫好走人,“不會多走一步,不會多說一句”。另一種積極型的則不是這樣,他們會把業余時間絕大部分都用于編程,因為這是愛好,從中能得到妙不可言、無法描述的快感。我屬于后者。我認為 Jim 也是我這類型的。
這就是故事的背景,時間約莫在一年多前。
然后我開始興沖沖地和 Jim 討論這些話題,以及我做的嘗試和我得出的結論。老實說,每次我一提這些話題,他總是看上去一副高深莫測、了如指掌的樣子,讓我深以為他的確是個傳奇,編程水平是高。但是奇怪的是,當我想詢問他的意見時,他總是答非所問,不能提出有效的解決辦法。而且不知為何他從來不問我問題,甚至于對我的問題毫無興趣,最后實在擋不住我的熱情,他就直接找借口轉換話題或者干脆尿遁。對于這一點,一開始我真的是想不明白。你想,面對一種能優化軟件和工作流程的專業方式,他竟然毫不動心,絲毫不感興趣,這也太奇怪了。
我開始有點懷疑,就試著問些專業問題,如果他沒有真正理解的話是答不出來的。他開始結結巴巴,答非所問,顧左右而言他,這證實了我的猜測。
我又去看了他寫的源代碼,然后我發現,他在軟件行業還只能算是一個新手。不過說出來其實也沒什么可恥的,畢竟每個牛逼的程序員剛剛開始的時候都是新手,犯錯誤也并不可怕,因為我們可以從錯誤中吸取經驗教訓從而鞭策自己。在幾年后,我們甚至還會有自己特有的優化編程方式。而這個有才華的 Jim 只是犯了個和我 14 年前一樣的錯誤。
但是隨之而來,有兩個難題擺在我面前。我不能說出這個事實,因為大家都以為他是一個特厲害的程序員,我并不想破壞他的聲譽。第二個難題是因為他的驕傲,對于我提的建議,他完全不以為然、不屑一顧。因為他過剩的驕傲,他寧可啥都學不到也不愿暴露他的缺點。對此我真心束手無策。
俗話說,三人行必有我師,我就特別喜歡向他人請教,不光能學到新知識,還能查漏補缺改正自己的缺陷。知之為知之,不知為不知,人又不是神,不可能什么都知道,這是正常的,不必對此感到羞恥。
接著,從他的日常行為中,我發現,但凡有人問到他有所涉獵的問題,拿 python 舉個例子,他的回答通常是,“這個啊,我還一無所知的時候就會用了”。就我個人而言,我喜歡別人實話實說,這樣我才能正確評估我獲得的信息。我最討厭別人給個自以為妙不可言的好建議,最后卻證明是狗屎。
不得不說,Jim 給我的建議就是這種“金玉其外敗絮其中”型的。例如,我曾經有一個關于 jQuery 的問題,但是他給我的總是不現實的方法,并且他每次都說,這可是最好的解決方法了,但是當我我想到了一些很棒的優化展示給他看的時候,他興致缺缺地說,這會超出預算或者這完全是多余的、沒有必要。這樣一段時間之后,我就不再向他請教了,因為他給不了什么建設性的意見,甚至有可能給出的意見完全是廢話。此外,我也不再和他談論那些雙方都能受益的話題,因為他毫無興趣,總不至于老是讓我熱臉貼個冷屁股吧。
所有這些的罪魁禍首就是 Jim 的驕傲,正是他不合時宜的驕傲阻礙了他的進步,這樣看來老話“驕傲使人落后”并非虛言。這也是我講的這個故事的中心意思,特別是當你獲得了與你真實能力不相稱的聲譽而又對之視若珍寶時,這個時候的驕傲真心要不得。
下面我再詳細地說一下,并且歡迎大家留下寶貴的意見。
大多數人對于批評教育承認自己錯誤或多或少總有些耿耿于懷,不甚樂意。原因就在于他們把批評和錯誤看做是失敗,是他們的恥辱。這是不可取的。我們首先應該承認錯誤,然后從中學習經驗教訓,這樣才能不斷促進自己成長。從現在開始就改變對錯誤的態度,把錯誤看成是進步的階梯,時間會讓你變得越來越優秀。
像 Jim 這樣的人其實對我們公司是有不利影響的。因為鑒于他的聲望,沒有人會質疑他所說的一切。關于由此會引發的問題,相信各位都心知肚明,我就不贅述了。
我要說的是,他的大部分項目都是沒有經過優化的,他的源代碼根本沒有我們想象的那么好,甚至有時候簡直可以說是糟糕透了。大概他自己也發現了這些缺陷,開始意識到大家對他的看法可能過于盲目了。但是這也僅僅止步于他的思維活動。一個謊言說久了,就會使說的人自己也相信是真的。Jim 就是如此,而這妨礙了他的進步。
在上述案例中,如果 Jim 能夠承認自己的錯誤,向別人坦言自己并非是無所不知的,那他絕對會由此進入一個嶄新的殿堂,對他今后的人生將會產生深遠的積極影響。
我深深地希望,Jim 也能看到這篇文章,并且從此拋棄他那愚蠢的驕傲,優化工作流程和項目,讓公司里所有人都可以從中受益。如此一來,大家在一起工作將會更加愉悅,而對于 Jim,他將學到更多,他的職業生涯絕對會受益匪淺。
我其實還想寫寫有關于 IT 現場的心理這個有趣的話題,但是想想還是算了,等下次有機會吧,可能很多童鞋要暗罵我是懶婆娘的裹腳布——又臭又長了。希望此文能對各位有所幫助,哪怕只有一個人叫好,那也值得了。最后請允許我借用英國著名小說家喬治·奧威爾的一句話結尾:
If liberty(自由) means anything at all, it means the right to tell people what they do not want to hear.
― George Orwell
譯文鏈接:http://news.html5tricks.com/why-pride-stops-programmer.html
翻譯作者:IT 新聞 – 蔣麗麗