原文鏈接
          Brad Feld的一篇文章
          The Rise of Developeronomics中提到了“10倍效率的開發(fā)者(10x developer)”的概念(偉大的開發(fā)者的效率往往比一般的開發(fā)者高很多,而不只是一點(diǎn)點(diǎn)),Adam Loving在讀了之后受到啟發(fā),并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)詢問如何成為“10倍效率的開發(fā)者”,最后得到了以下的答案。 

          1. 只做需要做的工作 

          • 使用敏捷方法;
          • 全心全意做UX設(shè)計(jì);
          • 溝通第一;
          • 編碼也許不是解決問題的辦法;
          • 過早的優(yōu)化是一切罪惡的根源;
          • 選擇最簡單的解決方案。
          2. 站在巨人的肩膀上 


          • 使用開源框架;
          • 使用簡潔語言(如HAML、Jade、Coffeescript);
          • 不要做重復(fù)的事情(不要重新發(fā)明輪子);
          • 利用包管理器來進(jìn)行公共和私有代碼分配;
          • 不要任憑巨頭(如微軟)的擺布而修復(fù)庫中的一個Bug;
          • 不要讓你的雇主逼你學(xué)習(xí);
          • 自主學(xué)習(xí)并為自己設(shè)定新的目標(biāo)。
          3. 了解數(shù)據(jù)結(jié)構(gòu)和算法 

          如果你不知道什么時(shí)候應(yīng)該使用快速排序、不懂辨認(rèn)O(n2)程序、不會寫遞歸函數(shù),你將無法成為10倍效率的開發(fā)者。使用多種語言你才能清楚不同的框架是如何解決相同問題的。盡可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎么存儲session狀態(tài)的?Cookie到底是什么?)。 

          4. 不要怕買工具,它可以節(jié)省你的時(shí)間 

          Ben說:“昨天我花50美元買了一個位圖字體工具,它幫我節(jié)省的時(shí)間成本絕對超過200元。” 

          5. 集中注意力 

          不要整天開著你的電子郵件、Twitter、Facebook等,在工作時(shí)將它們最小化或關(guān)掉它們,戴上耳機(jī)。Tiny hack說:“即使不聽音樂我也戴著耳機(jī)工作,這樣便不會有人打擾到我。” 

          6. 盡早并且經(jīng)常性地進(jìn)行代碼重構(gòu) 

          有時(shí),你不得不放棄漂亮的代碼轉(zhuǎn)而去尋找真正對項(xiàng)目有用的代碼,但沒關(guān)系,如果你的現(xiàn)有項(xiàng)目中有這樣的代碼,最好的方式便是不要看它,并重構(gòu)。 

          7. 只管去做 

          將你的業(yè)余項(xiàng)目分享到Startup Weekend中。在我開始轉(zhuǎn)到Unix和Ruby on Rails上之前,我買了一臺Mac,使用Windows虛擬機(jī)花了一年時(shí)間做.NET項(xiàng)目。 

          8. 挑選一個編輯器,并掌握它 

          高效開發(fā)者喜歡用文本編輯器勝過IDE編輯器,因?yàn)檫@樣可以學(xué)到更多東西。無論什么情況,盡量使用鍵盤快捷鍵,因?yàn)槭炀毷褂靡患ぞ叩那疤崾鞘煜に?nbsp;

          在選擇編輯器時(shí),認(rèn)真考慮并挑選最好的(Emacs或Vim),因?yàn)樗鼈兪峭ㄓ玫摹F浯危暨x你的首選平臺最支持的。使用宏,不斷地寫代碼;使用Mac上的TextExpander為整個段落創(chuàng)建快捷方式;使用Visual Studio或SublimeText的自動補(bǔ)齊功能;使用支持按行/列分割窗口的編輯器,這樣你便能同時(shí)看到單元測試和代碼(或模型、視圖)。 

          一定要想清楚后再寫代碼。Adam說,“我有朋友在一個大項(xiàng)目組里工作,他們組里最高效的程序員是一個高位截癱用嘴叼著棍子敲代碼的人,他總是在寫代碼之前想得很仔細(xì)且很少出錯。” 

          9. 整潔的代碼勝過巧妙的代碼 

          要想讓其他人能夠讀懂你的代碼,盡量使用最少的代碼來完成任務(wù)。遵循DRY(Don't repeat yourself)的原則,使用明確定義的對象和庫,將任務(wù)分解成小而簡單的代碼段。 

          10. 潛意識是強(qiáng)大的工具 

          離開10分鐘往往就可以解決一個問題。控制編程時(shí)間,給自己一個多姿多彩的生活,勞逸結(jié)合能讓你在工作時(shí)更高效、更愉悅。當(dāng)然,即便是上了年紀(jì)的程序員也知道,以最少的時(shí)間完成最高效的工作是成為10倍效率開發(fā)者的必要條件。 

          作為一個程序員,我覺得在職業(yè)生涯中最好的一件事兒就是從電腦前站起來,去拜訪那些在某一領(lǐng)域有所建樹的人們。 

          11. 推動自身和團(tuán)隊(duì)進(jìn)步 

          重視批評,以包容的態(tài)度接受批評并提升自己是非常重要的事情。沒有這個基礎(chǔ),你不可能成為一個高效的開發(fā)者。一位智者曾經(jīng)說過:“聰明的人善于從自己的錯誤中學(xué)習(xí),而智慧的人善于從別人的錯誤中學(xué)習(xí)。” 

          英文原文:http://adamloving.com/internet-programming/10x-developers

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 10, comments - 9, trackbacks - 0, articles - 15

          Copyright © alex_zheng

          主站蜘蛛池模板: 永吉县| 斗六市| 尉犁县| 宿松县| 通河县| 马关县| 宁德市| 娄底市| 南和县| 公主岭市| 逊克县| 玛曲县| 祥云县| 邳州市| 留坝县| 大安市| 榆林市| 吕梁市| 安仁县| 温泉县| 兰考县| 酒泉市| 涞水县| 阜阳市| 日照市| 景宁| 宜兴市| 尉氏县| 长葛市| 沂源县| 浦北县| 上林县| 利津县| 长子县| 休宁县| 介休市| 大竹县| 寻乌县| 库尔勒市| 浦县| 盐边县|