(編譯:伯樂線上/朱勇)
導讀:程式設計雖是複雜活,但成就優秀程式設計師的很多因素和我們在學校中最早學到的相差無幾。
1. 懂得分享
儘可能使用開源,並且當你有能力的時候,要對其有所貢獻。聚全社會之智慧,勝過某些“大”公司之短視。
2. 公平競爭
嘗試其他技術、框架、方法和觀點。不要總以為只有你的選擇才是可行的。別的選擇也有可能比你的要強得多。要以開放的心態,來檢驗其他人的選擇。
3. 不要攻擊他人
像第2條所說的,不要僅僅因為別人恰巧使用.Net、Java或PHP就去攻擊他們(我在這方面有一次教訓)。有時,它們或許要比你所認為的更有效。只要別人不是一無是處,你就可以從他們那裡學到很多東西。
4. 自我完善
儘量釋出可以執行的程式碼。不要指望QA能給你找出所有的程式錯誤。要經常並且全面深入地測試你的程式碼。
5. 不要拿不屬於自己的東西
使用軟體要遵守許可,不要偷了之後又裝無辜。
6. 傷害他人要道歉
程式碼審查是一個不錯但很少用的想法。指導經驗比你少的程式設計師,有助於整個團隊。不要公開批評他人。指導並不是貶低別人。別人有時候會接受,有時候不接受。其實,有時候你可能會從自認為水平不如你的人身上學到很多東西。
7. 未雨綢繆
動手寫程式碼之前要儘量理解要解決的問題。要做原型、從網上查詢例項、跟其他也做這個的人討論或者只是練練手而已。構建你從未做過或用過的東西是個壞習慣。如果開始就有思路,結果可能會更好。
8. 拿得起放得下
不要害怕替換、重寫、重構或者放棄垃圾程式碼。有時候,如果碰到可留可不留的程式碼,直接扔掉才是上策。永遠不要愛上你的程式碼。
9. 餅乾和牛奶是好東西
沒錯,程式設計師應該有好的工作環境。如果想讓程式設計變得輕鬆,那麼一把好椅子、一個安靜的地方、一臺配置高的電腦以及各種工具是必需的。經理應該充當盡力保護程式設計師,防止瑣事干擾他們。作為一名程式設計師,不要接受一種被奴役的生活。如果老闆對你不好,換個好東家。
10. 平衡生活
學習、思考、繪畫、唱歌、跳舞、工作、玩耍,每樣都會一點。我喜歡Google的方式,在那裡,你有20%的時間用來思考任何你認為值得做的事情。老闆應該提供休息室、娛樂室或者一些能讓人放鬆清醒的環境。
程式設計是一項艱苦的腦力勞動活;有時你的大腦確實需要休息一下。拒絕例行公事地每週工作80小時,否則你的工作質量將大打折扣,花費大量時間取得的成果將前功盡棄。另外,如何釋放工作生活壓力,可以參考伯樂線上的這篇文章:《3步釋放工作和生活壓力》。
11. 勞逸結合
每天工作24小時不會讓你更有效率。休息、回家,然後打個盹。通常,很多難題是在我回家的時候解決掉的,解決方法通常在我開車時或第二天早上突然想到。
12. 不要閉門造車
讀讀部落格、學習新語言和框架、參與討論以及看看同行在幹什麼。兩耳不聞業界事,你就無法成為一名更優秀的程式設計師。
13. 保持好奇心
想想塑料杯中的種子:根向下長,枝葉向上長,沒有人知道這是為什麼,但是我們都是這樣的。一般來說,在程式設計和技術世界,每天都有新奇東西出現。看!很神奇吧!每天學習,讓你思維更廣,技能更新,選擇也就更廣。如果你認為程式設計枯燥乏味,那麼你要該換行了。
14. 金魚、倉鼠、白鼠以及塑料杯中的小種子——它們都會死,我們也是。
程式碼會過時並且死亡。有時你需要做的是把它們埋了,然後重做。不要為了省錢而繼續維護那可怕的程式碼!
15. 想想那本書:《雌雄大盜》,你學到的第一個詞——“看”。
如果不去嘗試,你永遠學不到東西。我在程式設計中學到的東西都是來自嘗試新事物和練手。每天早上我瀏覽很多網站,看看程式設計世界裡又發生了什麼; 在八十年代早期我剛參加工作時,我就一直開始這樣做(不過,那時候是看雜誌)。如果你回頭看五年之前,你會發現程式設計其實很簡單。