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