如何提升程序員10倍的生產力

  如何提升程序員10倍的生產力,你們都認爲這是一個很是好的話題,今天就來分享一些我本身的觀點:誠然咱們還不知如何準確的定義10倍生產力是個什麼樣的概念,但我我的認爲它是指程序員在超生產的狀況下,速度提高了十倍。基於一些成功的因素,同時我的在程序員客棧作項目經理,擁有300+項目管理經驗,並與一些頂尖的程序員開發者工做過,我能夠分享一下我對這個話題的一些理解。html

  最先期的程序員程序員

  相比現代軟件,相對於功能性,安全性,性能和可擴展性20-30年前開發的軟件就簡單多了。在另外一方面,庫或框架的只有少數人能夠在那個時候實現任何功能。所以,寫了20-30年前參與軟件編程程序員是很是努力的。因此早期很容易肯定程序員生產力,頂尖程序員和普通程序員在實現相同功能的核心編程工做的價值躍然紙上。編程

  如今的程序員:設計模式

  在這裏我想讓讓你們先弄清楚明白一件事情:軟件開發是一個複雜的過程,而編程僅僅是幫助應用軟件實現的方法之一。因爲軟件的使用量增長,特別是在互聯網上,因爲消費者和公司的層面的軟件每每是很是複雜的,它多是一個瘋狂的決定而且從頭開始構建的東西。坦白說,除非這套系統是一個徹底顛覆式的操做系統,以現代軟件的發展速度新的核心技術會一直淘汰舊的技術。儘管程序員開發須要大量的知識和精力,打造優秀的軟件須要不少的人力物力,因此,在今天的背景下,程序員十倍的生產力可能沒法對行業帶來巨大的價值,可是十倍的程序員生產力的提高對行業的發展會起到普遍的影響。安全

  還有一些很是重要:架構

  1.作模型的最佳用法:框架

  軟件開發是一個複雜的過程,它涉及了大量不一樣種類的努力。除了編碼,它涉及從記錄過程的努力,以格式化數據,從讀出的日誌數據,來發送報告,從自動測試帶,以手動進行測試時,從複雜的調試,手動調查的問題,等等,等等。巨大的努力可使經過使用合適的工具和平臺(即適合於客戶的預算和其餘約束)的效率很是高。編輯器

  2,編程工具

  編寫軟件涉及一個或多個編輯者,其中一些也被稱爲IDE(集成開發環境)。現代的IDE,如Visual Studio或者Eclipse,提供的功能,使開發人員的生產量很大,但這些功能的顯著量不被大多數開發人員稱。流行的IDE也有商業和免費的插件(如ReSharper的),這使更多的開發人員的生產力獲得提升。此外IDE的,其餘編輯器如記事本++,MarkdownPad等也都是在相關的狀況下很是有用的。性能

  3,公用事業和在線服務

  公用事業和在線服務,例如閱讀或搜索大的日誌文件,HTTP調試如小提琴般優雅,構建和部署工具等。

  4,本身的工具

  擁有十倍生產力的工程師也使用本身的一組工具來執行相應的軟件,可是可能沒法使用外部爲其重複操做。在不少狀況下,企業經營者在軟件開發方面彷佛不太願意投資太多的工具組,但使用正確的工具組將使程序生產力數量驚人的。對於軟件開發人員,越是昂貴的人招致麾下,應該讓他們去開發值得開發的工具。

  5.不要反覆推倒程序員重寫

  軟件產業在過去三十年裏已經變得很是成熟。幾乎全部開發商都試圖經過編碼來解決全部的問題已經解決,並能夠做爲的API(做爲二進制或Web服務),其中有些是商業,而有些則是免費的。此外,開源框架也提供了極大的靈活性須要被用戶理解底層API的行爲或定製。在作編程以前,擁有十倍生產力的程序員實際上應該確保這個問題尚未徹底解決的(或部分)以前,若是是這樣,他們用起來會很是麻煩。

  6.不斷收集精美的代碼

  編寫偉大的軟件須要定義一個良好的架構,不只遵循良好的設計模式和原則,並且以現代基礎設施的優點。不只生產精心設計的代碼容許寫新的功能,速度更快,並且還下降了錯誤顯著。可是,精美的代碼要求不斷提升。我看到在個人職業生涯中,它連續增長技術任務在不一樣的軟件項目低質量的代碼數量驚人。5年前開始一個簡單的項目充滿了非工程醜陋的代碼,並要求20+的人來處理開發週期(他們花費80%的時間實際修復bug)。這背後可怕的局面的主要緣由,我才發現,是「恐懼」。所以不少企業,特別是實體軟件外包企業,主要是懼怕技術改變。軟件開發是在模具,框架和工程方面的一個使人難以置信的快速變化的學科,須要不斷變化才能到正確的地方。

  變化是可怕的,可是不變的永遠是變化,特別是在軟件行業(用正確的成套工具和人),這是否是很危險。可是,若是如預期你們想像的那樣,程序員就不會花費太多的時間,由於項目總會有一天被拋棄。

首發:http://column.iresearch.cn/b/201606/772036.shtml

相關文章
相關標籤/搜索