程序员的时间都去了哪儿?
如果你认为软件工程师将所有时间都花在了构思巧妙算法和令人惊叹的图形例程,然后将这些转化为优雅紧凑的代码上,那你就错了。
据Electric Cloud的一份数据报告显示,开发者近 20% 的时间可能花在了....“等”上:等代码编译完成;等测试流程跑完;等同事帮他们买可乐和零食.....
当然,最后一个是搞笑的。不过,来自 Electric Cloud 的调查报告的确表明:软件工程师花在“等待”上的时间,基本同“脑暴和合作”持平 (如下图)。
自然,等待的形式多种多样,有些程序员会利用等待的时间规划下一个项目或者修正 Bug,具体的情况因人而异。但无论如何,真正花在纯等待上的时间,肯定比调查的结果要少。
“这个结果让我颇感意外” Electric Cloud 营销总监 Ashish Kuthiala 表示,“在我做软件工程师时,有很多开会的时间,我宁愿拿去编程。开会浪费了我不少时间。但我并未意识到,工程师其实在等待测试和 build 完成上,也浪费了不少时间。”
Electric Cloud 是在受理 Intuit、三星及 GE 等客户时,才于上个月开始做这项调查的。这些公司总会抱怨其工程师的开发进度并不符合预期。
“软件工程师可以说是这些客户最宝贵的资源,因此他们非常在乎程序员是否在尽全力且尽可能高效的工作。”Kuthiala 说。
Electric Cloud 经常会在 LinkedIn 工程师小组和论坛里举办填调查问卷,参与 Kindle 抽奖的活动。截至目前,他们共收到了近 1200 份工程师反馈,参与调查的人员可以选择隐去姓名和公司。
“调查不仅能够表明大多数软件工程师的时间去向,同时也可以作为一个基准,用于衡量程序员是否达到了平均水准。”
是否有方法缩短甚至避免等待情况的发生呢?可以说,只要编译和测试存在时延,软件工程师便会有借口。而不出所料,Electric Cloud 也推出了一项服务,通过将测试、部署代码等过程自动化的方式,尽可能缩减程序员等待的时间。目前也有些开源软件提供类似的功能。
身为程序员的你,是在等待中读到这篇文章的吗?