“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?

“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?
文章图片
整理|郑丽媛出品|CSDN(ID:CSDNnews)很大程度上 , 人们习惯于将“软件开发工程师”、“软件测试工程师”、“运维工程师”等计算机行业相关岗位等同于“程序员” , 而顾名思义 , 其工作主要是写程序、敲代码——理论上来说 , 应该是这样的 。
“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?】但事实证明 , 多数程序员的真实日常并非如此:
据DevOps公司Software的代码时间报告显示 , 大多数开发人员
据CSDN发布的
近日 , 低代码应用公司Retool也最新发布了一份基于600名软件工程师的调查报告 , 其结果依旧令人感到意外:软件工程师平均每周只有大约10个小时的“深度工作”时间 , 甚至运行的还大多是别人的代码 。
“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?
文章图片
被“困”在琐事之中的程序员既然每周只有约10个小时的“深度工作”时间 , 其余时间他们在干嘛?答:他们被“困”在了层出不穷的琐事当中 , 面试、等待代码审查、测试和构建 , 还要弄清楚谁拥有什么代码 。
漫长的测试流程
在最希望可以减少时间花费的事项上 , 不论是初级还是高级工程师 , 都不约而同地认为测试流程实在是浪费了太多时间 。
“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?
文章图片
随着项目功能愈发完善 , 构建变得愈发复杂 , 为确保稳定性 , 测试必不可少 。 但问题在于 , 在大型表上运行SQL查询需要很长时间、数据库同步很慢、构建一个单体存储库可能就需要20分钟——这也就意味着 , 软件工程师只能花费许多时间在等待上 。
等待代码审查
除了必须等待的测试流程 , 与人交际也令许多开发者感到“头疼”:38%的工程师表示“等人”也是一个重要问题 。 57%的受访者指出 , 他们通过代码审查获得PR需要4个多小时 , 还有26%的人表示这个过程需要一天以上的时间 。
“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?
文章图片
弄清谁负责什么代码
在大型项目中 , 开发者之间的高效协同十分必要 。 在这过程中 , 超过30%的工程师均表示 , 他们可能要花半天以上的时间来弄清谁负责什么代码并获取相关需求 。
“神奇”的程序员日常:不写程序、运行别人的代码、每周只“深度工作” 10 小时?
文章图片
不过具体情况可能也要视情况而定 , 大型企业往往更加严重:在拥有1000+名员工的公司中 , 21%的开发者表示 , 通常需要一个工作日以上的时间才能确定相关代码的负责人 , 而在员工基数较小的公司 , 这一比例不到10% 。
不断的招聘面试
以上“琐事”虽然耗费时间 , 但总归与编程工作有直接联系 , 令超过30%的工程师感到有些疲惫的是接连不断的面试 , 他们希望在新员工的招聘和面试上减少一点时间 。
“我们都在运行其他人的代码”在以上各类繁杂琐事占据开发者的精力之余 , 留给他们用来专心编写代码的时间也随之减少 。 在此形势下 , 为了省时省力 , 很多开发者采取的应对方式为“运行其他人的代码” 。
Retool对此解释道:如今绝大多数软件工程师都在复制和运行别人的代码 , 或引用开源代码 , 或重用公司代码库 , 也可能借鉴在线教程中的代码 。
出于意料的是 , 在统计开发者每周复制代码行数时 , 超过80%的初级工程师每周会复制100行以内的代码 , 相比高级工程师高11%;但同时 , 也有30%的高级工程师每周会从不同来源复制超过100行代码 。