軟體工程師應該多寫文章

極客網發表於2015-03-16

在小學裡,有所謂的“數學孩子”、“語文孩子”。話說,各位小的時候,是否也曾因為學科成績而被分到某一個陣營裡?

我就曾經是個數學孩子,所以後來報了電腦科學專業,決定成為一名軟體工程師。但是在此過程中,“數學孩子”/“英語孩子”的稱號卻並沒有消失,甚至於這條溝壑愈加明顯了。因此,現在的工程師普遍畏懼寫文章。而那些會寫文章的作家往往看到程式碼就立馬暈菜。

真心可惜!沒錯,軟體工程師要會寫程式碼,但是也應該去寫點文章。

軟體工程師也應該去寫文章的原因是因為寫作能促進很多在程式設計中同樣需要使用的技能——核心技能都是清晰思考的能力。最好的軟體工程師也是偉大的作家,因為他們的散文會像他們的程式碼一樣邏輯分明、優雅整潔。

程式碼和文章有很多共通之處。一開始都是空白的,然後按照自己的想法一點一點寫出來,最後出來一個獨立的產品。產品由一系列邏輯語句構成,並被捆綁成一個個模組化單元——無論是軟體功能還是文章段落皆是如此。好的程式碼就像優美的文章一樣,簡潔明瞭,富有表現力。而差的程式碼就是在浪費CPU週期,正如亂七八糟的文章純粹是浪費腦力資源一樣。一般說來,文章的大綱就是軟體的架構。

越是臨近截止期限,工程師會同作家一樣感覺焦躁不安。就像文章總是可以精益求精一樣,我們永遠不能說我們的軟體完全“done”。這也使得工程師需要更多的時間用於增加功能和重構模組。工程師們常常需要擔心自己沒有做到最好。

軟體工程師之所以應該試著去寫作,是因為我們現在的專案越來越需要合作。開源專案會邀請世界各地人員的參與,產品開發則需要很多工程師的通力協作。(例如,谷歌地圖擁有1100名全職員工!)良好的書面表達技能,無論是用於寫GitHub評論,還是程式碼審查,亦或是寫技術文件——清晰、簡潔的溝通總是能夠有助於類似這些專案的前進發展。

即使是一些毋需溝通交流的專案,寫點東西大多也能促進學習和討論交流。要知道多虧其他工程師寫的教程,使得我們沒有必要非去學習那些令人頭大的RFC規範和技術手冊。關於技術討論的文章,只有寫得特別好才能發表到《Hacker News》和tweet上,剩下的就會引導到部落格文章上。

再說說寫這個部落格文章,也是需要投入時間的。正如好文章需要花時間去寫一樣,先是初稿,再通過多次修改來提高質量。

軟體工程師應該寫文章,因為他們實際上可能是喜歡寫作的。曾經的我們不停地被灌輸“我們在這個文科的領域很菜”的思想,所以我們大多可能從來沒有想過我們可能還具備了寫作這個潛力,這會不會讓你突然充滿興趣、幹勁十足呢?

並且,寫作還會對你的職業規劃產生巨大的正面影響。管理方面的部落格文章可以幫助經理鼓舞他們的團隊,推動其工作積極性。程式設計方面的教程可以點燃學生關於電腦科學興趣的火花。有些關於職業建議的文章甚至可以激勵畢業生走上一條全新的職業道路。

即使沒有人閱讀你的文章,也沒有關係,寫作這個過程也能讓你受益匪淺。它能訓練你清晰闡述某個主題的能力,而且將腦中一些雜亂無章的想法一步步變成具體言辭的過程也非常有價值。

寫作同樣會影響工程師編寫軟體的激情,將此與有用的軟體技能相結合,通力協作,然後你會突然發現寫作已然成為一個非常有價值的活動。

即使是對於那些所謂的“數學孩子”。

寫作提供了同樣的感覺的影響,激勵工程師編寫軟體。與此相結合如何促進技能在軟體工程中非常有用,便於協作,然後突然寫似乎是一個有價值的活動。

即使是“數學的孩子”。

相關文章