程序員的時間都去了哪兒?
如果你認為軟件工程師將所有時間都花在了構思巧妙算法和令人驚嘆的圖形例程,然后將這些轉化為優雅緊湊的代碼上,那你就錯了。
據Electric Cloud的一份數據報告顯示,開發者近 20% 的時間可能花在了....“等”上:等代碼編譯完成;等測試流程跑完;等同事幫他們買可樂和零食.....
當然,最后一個是搞笑的。不過,來自 Electric Cloud 的調查報告的確表明:軟件工程師花在“等待”上的時間,基本同“腦暴和合作”持平 (如下圖)。
自然,等待的形式多種多樣,有些程序員會利用等待的時間規劃下一個項目或者修正 Bug,具體的情況因人而異。但無論如何,真正花在純等待上的時間,肯定比調查的結果要少。
“這個結果讓我頗感意外” Electric Cloud 營銷總監 Ashish Kuthiala 表示,“在我做軟件工程師時,有很多開會的時間,我寧愿拿去編程。開會浪費了我不少時間。但我并未意識到,工程師其實在等待測試和 build 完成上,也浪費了不少時間。”
Electric Cloud 是在受理 Intuit、三星及 GE 等客戶時,才于上個月開始做這項調查的。這些公司總會抱怨其工程師的開發進度并不符合預期。
“軟件工程師可以說是這些客戶最寶貴的資源,因此他們非常在乎程序員是否在盡全力且盡可能高效的工作。”Kuthiala 說。
Electric Cloud 經常會在 LinkedIn 工程師小組和論壇里舉辦填調查問卷,參與 Kindle 抽獎的活動。截至目前,他們共收到了近 1200 份工程師反饋,參與調查的人員可以選擇隱去姓名和公司。
“調查不僅能夠表明大多數軟件工程師的時間去向,同時也可以作為一個基準,用于衡量程序員是否達到了平均水準。”
是否有方法縮短甚至避免等待情況的發生呢?可以說,只要編譯和測試存在時延,軟件工程師便會有借口。而不出所料,Electric Cloud 也推出了一項服務,通過將測試、部署代碼等過程自動化的方式,盡可能縮減程序員等待的時間。目前也有些開源軟件提供類似的功能。
身為程序員的你,是在等待中讀到這篇文章的嗎?