每天敲代码不到 1 小时,程序员每天都在做什么?

整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
提问:你印象中的程序员工作是怎样的?相信会有人回答:敲一天的代码、修一天的 Bug,日复一日的披星戴月吧——一直以来,这就是我们对程序员的传统印象 。
但事实似乎与我们想象的有些出入:据 DevOps 公司 Software 的第一份代码时间报告显示,大多数开发人员每天的编码时间根本就不到一小时 。

每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
 
每天编码不到 1 小时,周三最高效伴随着软件领域逐年激烈的竞争,全球各大技术公司每年在开发人员身上的投资越来越多,他们协调分布在世界各地和跨时区的数百个项目和团队,争先为客户创造最好的价值,只为引领行业的创新步伐 。
在这过程中,还有很多公司“掉队”了:工程团队在开发过程中遇到障碍和瓶颈,将一个想法投入生产可能需要几个月甚至几个季度 。究其根本,在于开发人员很难全神贯注地将时间全部用来编程:无尽的会议、不断被同事中断、等待流程通过的繁琐…无法专注投入于编程的程序员,工作效率可想而知 。
为此,Software 公司统计了全球社区中 25 万多名开发人员的相关数据,得出他们平均每天的编码时间为 52 分钟——从周一至周五,工作中的编码时间总共约为 4 小时 21 分钟 。
(注:Software 将编码时间定义为在编辑器或 IDE 中积极编写或编辑代码所花费的时间,且为了过滤掉兼职开发者,Software 的分析仅限于在过去 30 天中至少有 7 天编写过代码的开发者 。)
每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
在这之中,每天编码耗时超过 1 小时的开发人员仅有 40%,每天编码时间超过 2 小时的仅占约 10% 。
每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
除了真正花在编码上的时间,Software 发现开发人员每天还会花费约 41 分钟在其他代码工作上,例如阅读代码、审查拉取请求和浏览文档等 。
接下来,Software 还就编码时间的主要发生时段,分别以一天和一周为维度做了进一步分析:
  • 在一天中,只有 10% 的编码发生在上午 9 点到 11 点之间,大约 45% 的编码发生在下午 2 点到 5 点区间内,还有 12% 的编码发生在工作时间之后的下午 5 点到晚上 7 点 。

每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
  • 在一周之中,开发人员普遍会在周三达到一个效率高峰,平均编码时间能达到 55 分钟——同一数据在周五只有 46 分钟 。显然,即将放假的周五是最不受欢迎的编码工作日 。不过这并不意味着开发人员周末就会完全“放飞”:Software 调查发现,大多数开发人员会在周末继续编码,周六和周日的平均编码时间约为 18 分钟 。

每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
若诚如 Software 调查结果所示,开发人员每天的编码时间不足一小时,那他们剩余的工作时间都哪去了?如上文所说,大多都被分布在了许多其他事项中:规划项目、审阅文档、开会统筹、协作讨论 。
每天敲代码不到 1 小时,程序员每天都在做什么?

文章插图
 
高效工程师:每天 100-150 行代码当然,如果只用编码时间或代码行数来评判一位开发者的工作效率,或许有些过于片面 。
早在 2017 年,google AdMob 全栈工程师 Raymond Farias 的一番发言就曾在开发者圈中引起巨大争议:
“我的同事告诉我,根据以往的调查证明,一名高效的工程师每天能写 100-150 行代码 。我一开始嘲笑他的估计值肯定低了很多,结果我汇总了我一个月的代码数据进行求和,并除以 20(周末不上班)得出的平均数,居然真的等于 150 !!!”
为了验证这一说法的真实性,CSDN 当时也在论坛上发起了相关话题讨论:“以代码为主要工作的程序员,一天写多少代码才算达标?”结果,征集到的回答几乎与 Raymond Farias 的说法没有出入: