使用敏捷方法;程序員
全心全意作UX設計;算法
溝通第一;編程
編碼也許不是解決問題的辦法;session
過早的優化是一切罪惡的根源;數據結構
選擇最簡單的解決方案。框架
使用開源框架;數據結構和算法
使用簡潔語言(如HAML、Jade、Coffeescript);編輯器
不要作重複的事情(不要從新發明輪子);函數
利用包管理器來進行公共和私有代碼分配;工具
不要任憑巨頭(如微軟)的擺佈而修復庫中的一個Bug;
不要讓你的僱主逼你學習;
自主學習併爲本身設定新的目標。
若是你不知道何時應該使用快速排序、不懂辨認O(n2)程序、不會寫遞歸函數,你將沒法成爲10倍效率的開發者。
使用多種語言你才能清楚不一樣的框架是如何解決相同問題的。儘量去了解底層命令(plumbing),以便可以做出明智的決定(Web框架是怎麼存儲session狀態的?Cookie究竟是什麼?)。
不要成天開着你的電子郵件、Twitter、Facebook等,在工做時將它們最小化或關掉它們,戴上耳機。Tiny hack說:「即便不聽音樂我也戴着耳機工做,這樣便不會有人打擾到我。」
有時,你不得不放棄漂亮的代碼轉而去尋找真正對項目有用的代碼,但不要緊,若是你的現有項目中有這樣的代碼,最好的方式即是不要看它,並重構。
將你的業餘項目分享到Startup Weekend中。在我開始轉到Unix和Ruby on Rails上以前,我買了一臺Mac,使用Windows虛擬機花了一年時間作.NET項目。
高效開發者喜歡用文本編輯器賽過IDE編輯器,由於這樣能夠學到更多東西。不管什麼狀況,儘可能使用鍵盤快捷鍵,由於熟練使用一件工具的前提是熟悉它。
要想讓其餘人可以讀懂你的代碼,儘可能使用最少的代碼來完成任務。遵循DRY(Don't repeat yourself)的原則,使用明肯定義的對象和庫,將任務分解成小而簡單的代碼段。
離開10分鐘每每就能夠解決一個問題。控制編程時間,給本身一個多姿多彩的生活,勞逸結合能讓你在工做時更高效、更愉悅。固然,即使是上了年紀的程序員也知道,以最少的時間完成最高效的工做是成爲10倍效率開發者的必要條件。
重視批評,以包容的態度接受批評並提高本身是很是重要的事情。沒有這個基礎,你不可能成爲一個高效的開發者。一位智者曾經說過:「聰明的人善於從本身的錯誤中學習,而智慧的人善於從別人的錯誤中學習。」