軟件工程師應該多寫文章
在小學里,有所謂的“數學孩子”、“語文孩子”。話說,各位小的時候,是否也曾因為學科成績而被分到某一個陣營里?
我就曾經是個數學孩子,所以后來報了計算機科學專業,決定成為一名軟件工程師。但是在此過程中,“數學孩子”/“英語孩子”的稱號卻并沒有消失,甚至于這條溝壑愈加明顯了。因此,現在的工程師普遍畏懼寫文章。而那些會寫文章的作家往往看到代碼就立馬暈菜。
真心可惜!沒錯,軟件工程師要會寫代碼,但是也應該去寫點文章。
軟件工程師也應該去寫文章的原因是因為寫作能促進很多在編程中同樣需要使用的技能——核心技能都是清晰思考的能力。最好的軟件工程師也是偉大的作家,因為他們的散文會像他們的代碼一樣邏輯分明、優雅整潔。
代碼和文章有很多共通之處。一開始都是空白的,然后按照自己的想法一點一點寫出來,最后出來一個獨立的產品。產品由一系列邏輯語句構成,并被捆綁成 一個個模塊化單元——無論是軟件功能還是文章段落皆是如此。好的代碼就像優美的文章一樣,簡潔明了,富有表現力。而差的代碼就是在浪費CPU周期,正如亂 七八糟的文章純粹是浪費腦力資源一樣。一般說來,文章的大綱就是軟件的架構。
越是臨近截止期限,工程師會同作家一樣感覺焦躁不安。就像文章總是可以精益求精一樣,我們永遠不能說我們的軟件完全“done”。這也使得工程師需要更多的時間用于增加功能和重構模塊。工程師們常常需要擔心自己沒有做到最好。
軟件工程師之所以應該試著去寫作,是因為我們現在的項目越來越需要合作。開源項目會邀請世界各地人員的參與,產品開發則需要很多工程師的通力協作。 (例如,谷歌地圖擁有1100名全職員工!)良好的書面表達技能,無論是用于寫GitHub評論,還是代碼審查,亦或是寫技術文檔——清晰、簡潔的溝通總 是能夠有助于類似這些項目的前進發展。
即使是一些毋需溝通交流的項目,寫點東西大多也能促進學習和討論交流。要知道多虧其他工程師寫的教程,使得我們沒有必要非去學習那些令人頭大的 RFC規范和技術手冊。關于技術討論的文章,只有寫得特別好才能發表到《Hacker News》和tweet上,剩下的就會引導到博客文章上。
再說說寫這個博客文章,也是需要投入時間的。正如好文章需要花時間去寫一樣,先是初稿,再通過多次修改來提高質量。
軟件工程師應該寫文章,因為他們實際上可能是喜歡寫作的。曾經的我們不停地被灌輸“我們在這個文科的領域很菜”的思想,所以我們大多可能從來沒有想過我們可能還具備了寫作這個潛力,這會不會讓你突然充滿興趣、干勁十足呢?
并且,寫作還會對你的職業規劃產生巨大的正面影響。管理方面的博客文章可以幫助經理鼓舞他們的團隊,推動其工作積極性。編程方面的教程可以點燃學生關于計算機科學興趣的火花。有些關于職業建議的文章甚至可以激勵畢業生走上一條全新的職業道路。
即使沒有人閱讀你的文章,也沒有關系,寫作這個過程也能讓你受益匪淺。它能訓練你清晰闡述某個主題的能力,而且將腦中一些雜亂無章的想法一步步變成具體言辭的過程也非常有價值。
寫作同樣會影響工程師編寫軟件的激情,將此與有用的軟件技能相結合,通力協作,然后你會突然發現寫作已然成為一個非常有價值的活動。
即使是對于那些所謂的“數學孩子”。
寫作提供了同樣的感覺的影響,激勵工程師編寫軟件。與此相結合如何促進技能在軟件工程中非常有用,便于協作,然后突然寫似乎是一個有價值的活動。
即使是“數學的孩子”。
譯文鏈接: http://www.geekwww.com/software-engineers-should-write.html英文原文: Software engineers should write
翻譯作者: 極客網 – John