1. 程式人生 > >Linus談優秀程式設計師的三種品質

Linus談優秀程式設計師的三種品質

引言

今天我們的嘉賓,是分散式版本管理系統Git的主要維護者,同時也是《入門Git》一書的作者,濱野純先生。而這次的訪談,也從濱野先生談自己從Linux核心的開發者,Linus Torvalds手中接過Git維護工作的原委開始了。
小飼彈(以下簡稱彈)
濱野純(以下簡稱濱)

訪談內容

(此處省略N字...)

優秀程式設計師的品質

彈:你覺得“優秀的程式設計師”是怎樣的一種人呢?
濱:當初接手Git專案時,Linus曾說過一個明星程式設計師有三種品質。最重要的第一點是,能夠持之以恆地做某件事。從這個角度上來說,AlphaGeek是不行的。儘管對於新事物迅速投身進去不是壞事,但同時又迅速地失去興趣就不好了。順便我自己不那麼激進不是新事物愛好者也不會三分鐘熱度,應該不算是AlphaGeek。
彈:原來如此,三分鐘熱度是不行的。重要的是堅持。
濱:第二點算是審美觀吧。擁有良好的直覺和品位

,這是Linus的原話。良好的直覺,這裡是指面對一個新問題時,即使沒有完整地解決問題也能夠憑直覺提出正確的解決思路和方向。第三點是溝通能力。這個溝通能力不是說只要說明“我想做什麼”就可以了,而是能夠解釋“我的目標是什麼”以及我得出這一目標的整個思維過程,並且更重要的,是能夠讓其他人信服,簡而言之就是能夠將自己的目標明確傳達給他人的人。我覺得這非常重要。即使在Git社群內,非常優秀的人至少也有7、8人,但能夠同時兼具這三點的人非常之少。
彈:雖然之於審美觀我有很多想對Linus說的(笑)。不過我也猜得到Linus會怎麼反駁所以我還是作罷吧。話說回來,這三點中能夠做到其中兩點的人,估計在哪兒都會很吃香吧。做到一點就可以說工作能力很強,做到兩點就可以稱之為牛人了。
濱:說的是啊。Linus是按照我上面所說的順序提出的這三點,從Git社群至今為止的發展過程中來看,我覺得即使是隻具備其中一點的人,只要鍛鍊一下溝通能力,就能做任何自己想做的事了。溝通能力就是,即使自己做不到,只要把目標向其他人說明清楚了,就一定會有人來幫你達成這個目標。就是說只要表達想法可以不用非得自己動手。
彈:我在還沒有Open Source這個詞的時候就已經算混開源界了吧,不過近幾年來,開源界的表達能力真是越來越高了。拿十年前來和現在比,現在的年輕人的表達能力實在不一般,不是最近流行Lightning Talk嘛,就是5分鐘的演講。要是換作以前,肯定得花上30分鐘絮絮叨叨才行,但是那些年輕人證明縮短到5分鐘內是完全沒有問題的。實際在與他人合作的過程中,過去是做出了產品原型和對方討論這麼做如何,而現在則相反,不需要做出實際的成品,只要把想法提出來就可以了。都是因為現在的工具發達了啊,網路速度變快了,應用平臺也變好了。有這麼一句老語,“現在的年輕人啊真是……”,我想說的是“真是很厲害”。我甚至都想表揚一下依然能夠跟上這些年輕人腳步的自己了(笑)。現在已經是半年不看專案就跟不上的時代了。覺得Git很難,或許也是因為我老了吧(笑)。

對40歲以上的程式設計師說的話

彈:有什麼想對40歲以上的程式設計師說的話嗎?40多歲的程式設計師,已經漸漸感到追趕年輕人有點吃力,對他們有什麼建議嗎?雖然我想說的是,那就趁20多歲正年輕的時候多寫點程式碼吧。
濱:要怎樣才能成為年輕人的楷模,這個問題很困難啊。
彈:至少有一點,我覺得應該做到的,就是依然覺得寫程式碼很快樂。如果抱著受罪的心態寫程式碼,那一定是做不好工作的。這麼說來,您今年幾歲?
濱:保密(笑)。
彈:至少不是20、30歲了吧。我覺得還是挺厲害的。在版本管理系統中Git最年輕,但現在卻正漸漸成為主流。
濱:是啊。
彈:年輕的專案不一定只有年輕人在做,我覺得這非常好。