在學(xué)校里,有“文科生”和“理科生”的區(qū)分,學(xué)習(xí)內(nèi)容不同,思維方式也有差異。我是一名理科生,大學(xué)里我的專業(yè)是計算機科學(xué),畢業(yè)后我的工作是軟件工程師。在這個過程中,我發(fā)現(xiàn)文理科之間的鴻溝始終無法彌合。我見到的很多工程師害怕寫文章,而文科生看到代碼就頭疼。
我認(rèn)為,程序員應(yīng)該養(yǎng)成寫作的習(xí)慣。因為寫文章會鍛煉許多對于編程十分有益的技能。
寫文章和寫代碼最核心的共同之處在于它們都需要清晰思考的能力。頂尖的軟件工程師往往也是優(yōu)秀的寫作者,他們的文章和代碼一樣富有邏輯性,行文流暢、優(yōu)雅。
文章和代碼有很多相似之處:二者都是從一個空白的頁面開始,把一個想法最終變成完整的產(chǎn)品,推向特定的受眾;寫文章和寫代碼都需要你把一系列有邏輯的語句封裝進一個個模塊中,這些模塊可以是函數(shù)也可以是文章的段落;好代碼與好文章一樣都需要言簡意賅,不然就會浪費 CPU 資源或人的精力。
當(dāng)某個產(chǎn)品快要完工時,軟件工程師會像作品快要發(fā)表的作家一樣焦慮不安。和寫文章一樣,軟件永遠(yuǎn)不會有徹底完成的時候,工程師需要花更多時間優(yōu)化代碼、開發(fā)新功能或者重做某個部分,因為他們擔(dān)心發(fā)布的作品沒有展現(xiàn)出自己最好的一面。
軟件工程師應(yīng)該寫作因為現(xiàn)在開發(fā)協(xié)作變得越來越重要。開源項目可以得到來自世界各地人民的參與。開發(fā)和運營一個產(chǎn)品常常需要大量工程師(Google Maps 有 1100 個全職員工?。2徽撌?GitHub 評論、代碼注釋,還是技術(shù)文檔都需要清晰準(zhǔn)確的文字。良好的寫作能力方便了人們之間的交流,使得項目更好地運行下去。
可能你覺得有些項目不太需要交流協(xié)作,但是寫一些關(guān)于軟件的內(nèi)容通常對于學(xué)習(xí)和更進一步的討論有著促進作用?,F(xiàn)在,我們不再需要通過 RFC 文檔或技術(shù)手冊中學(xué)習(xí)了,因為網(wǎng)上有其他工程師寫的教程。此外,我們還能夠從 Hacker News 評論、推特和各種博客中學(xué)到很多內(nèi)容。
提到博客,再來說兩句。好的寫作需要時間。我們一開始寫出來的文字可能不怎么樣,這時就需要再花點時間,多修改幾遍,潤色一下。如果你覺得自己太忙了沒時間寫博客,不知道寫什么或者擔(dān)心你的觀點被公開記錄日后留下把柄,你應(yīng)該花上點時間讀一讀 Steve Yegge 的《你應(yīng)該寫博客》(You Should Write Blogs)這篇文章。即便其中的觀點不能說服你,我相信在閱讀之后你也會有所收獲。
軟件工程師需要寫作,因為他們可能會享受寫作的過程。很多軟件工程師都期待自己開發(fā)的軟件能夠“產(chǎn)生影響”,給人們的生活帶來改變。實際上,通過寫文章,你也能夠?qū)θ藗儭爱a(chǎn)生影響”,譬如說關(guān)于管理的博文可以幫助他人激勵自己的團隊,教授編程的內(nèi)容可能會引起一個學(xué)生學(xué)習(xí)計算機科學(xué)的興趣,關(guān)于職業(yè)規(guī)劃的文章則可以幫助畢業(yè)生找到新的職業(yè)方向。
即使沒人讀你的文章,寫作的過程也是有益無害。它幫助你理清思路,明確對于某個問題的看法,加強或削弱你的某種觀點。把凌亂的想法匯聚成精簡的文字非常有價值。
總之,寫作有利于提高軟件開發(fā)的水平,同時更方便開發(fā)過程中的協(xié)作,即使對一個理科生來說,也是一件非常值得做的事。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
217瀏覽量
21123
發(fā)布評論請先 登錄
相關(guān)推薦
評論