面对冷冰冰的机器、代码、工具,程序员的首要工作是知其然并知其所以然,方能入手去敲打出美妙的代码。
近日,一篇《Developers spend most of their time figuring the system out》的文章在HacekerNews上引起了不少开发者的共鸣,作者表示,程序员大部分时间都在摸索系统之上,而非构建系统。
对于这一话题,最早可追溯到1979年Zelkowitz、Shaw和Gannon出版的《软件工程和设计原理》一书,书中描述到,程序员把大部分的时间(67%)都花在了开发维护上。
图1:截图自《软件工程和设计原理》一书
诚然,这本书并没有告知这一数字的背后,那么在40年后的今天,又是怎样的情形呢?
在2022开发者生态汇上,知名程序员,MegaEase CEO 左耳朵耗子(陈皓)在演讲中提到,在国内没有一家软件公司有升级部门,经常是老到20年的系统依然在使用。可想而知,对于这样的系统,程序员入职的第一件事或许就是弄清楚这些老“玩意”后进行着修修补补的工作。
对此,原文作者提到,论文《Measuring Program Comprehension: A Large-Scale Field Study with Professionals》中指出了程序员在一个项目上的时间分配,其中约58%的时间来理解系统,并阐述这一数字是如何得来的。
图2
即使在40年后的今天,花在摸索系统上的时间并没有变少。尽管这是一个非常大的项目成本,但人们在日常更多的是讨论如何构建系统,而不是如何弄清楚一个系统。
并且,在成本时间的花费上,程序员之间也存在着不小的差距。高级程序员之所以工作效率高,与其拥有扎实的基础和更高效的工作方式有着直接的关系。
提升编程能力永远是一名技术工作者的“主旋律”,不仅要在工作之中学会主动发现问题、解决问题,更要在工作之余拓展学习,提升竞争力。
华信智原尊重并保护您的隐私