简介
几周前,我忽然发掘:在工作 4 小时内,我的工作时间和有效的编码时间差了整整 2 小时。为了重回正轨,我决定主动减少阻碍,来缩小这个差距,争取能写更加多代码,把无关的事情抛开。这个时间差越大,我的效率就越低。
和其他行业的人相比,程序员在这方面遇到的困境更甚。这些阻碍常常会引起码农自信心下降、写代码和优化的时间变少,职业倦怠率更高。影响创造力和热情。
按照本周 CodeTime 的全世界平均编码时间,约 45%的总编码时间都是消极编码。时间和资金都在被浪费。
低效的研发流程是罪魁祸首。
1. 会议
低效的会议是引起研发人员生产力下降的最不必要的原因之一。编程需要心流。平均而言,进入心流状态大约需要 30 分钟。然则因为乱七八糟会议,专注力就被打断了,码农必须重复这个过程。
有时 10 分钟的会议硬拖到一个小时,这亦很浪费时间。减少了用于实质编程和处理问题的时间。有些会议还需要码农无用的出席。倘若这次会议和码农的专业知识无关,基本不必让她们参会。
2. 技术债(Fix it Later)
技术债,简单来讲便是“以后再修”的心理。先采用捷径实现,妄图后面有空再修改成更优的方式。
最起始,先让功能可用就行,而优化留到以后。短期来看这可能行得通,由于它能够加快项目进度,你可能在 deadline 前完成。然则反复这么做就会留下海量待完成的工作。会使守护、扩展和优化软件变得更加困难。
技术债会以多种方式阻碍码农的生产力。列举有些: Code Review 的瓶颈:当技术债增多时,会增多 Code Review 所花费的时间。更加多 Bug:因为关注点都在速度而不是优化上,会引起引入隐匿的 Bug。代码质量降低:只为了让它能够跑,会引起糟糕的代码质量、随意的 Code Review,乃至无代码注释,随意乱写复杂的代码等。以上所有点都需要额外的时间来处理。因此呢,这会拖长项目的时间线。
3. Code Review
Code Review 需要时间,倘若 Review 时间过长,会延迟新代码的集成并放缓全部研发过程。有时候码农提出 PR 但 Code Reviewer 无时间进行审查。会码农处理下一任务的时间。在进行下一个任务的同期,再回头 Code Review 时会有上下文切换。会影响码农的专注力和生产力。
针对 Code Review,码农可能不得不参加多个会议,减少了码农的生产力。代码反馈常常不知道或过于繁杂,需要进一步讨论来加深理解,处理问题一般需要更长期。Code Review 对一个组织来说必不可少且至关重要,然则需要重视方式和效率。
4. 微观管理 (Micromanagement)(缺乏自治)
微观管理是一种管理方式,主管密切观察和管理下属的工作。在码农的语境下,当管理者想要掌控码农的所有编码细节时就出现了。这可能引起码农对她们的代码、流程、决策和创造力的降低。
举例来讲: 缺乏动力:微观管理可能显示组织对码农能力的信任不足。这般,码农很容易感到失去动力。缺乏创造力:研发软件是一项需要专注以探索创造性处理方法的创作性任务。然则微观管理会引起码农对代码的掌控较少,阻碍码农的创造力。决策缓慢:码农必须就简单的决定向管理层寻求确认,在这个过程中海量时间被浪费。在所有这些状况下,码农的生产力都会下降。
5. 职业倦怠
职业倦怠是码农面临的重点问题之一。面对繁杂拥有挑战性的项目和紧迫的 deadline,以及持续加强代码质量的压力都可能引起职业倦怠。这最后会引起码农的生产力下降,会明显减弱码农的重视力和写代码的能力。
这亦会引起码农的创造力和处理问题的能力下降。这最后会引起研发周期变慢。
6. 垃圾文档
文档对码农至关重要,由于它传达相关代码、项目和流程的关键信息。垃圾文档可能会引起研发周期被延迟,由于码农需要花更加多时间试图理解代码库、项目和流程。这会引起码农生产力降低。
在码农入职时期,供给垃圾文档会引起码农在设置项目、管理环境、理解代码等任务上花费更加多时间。在缺乏清晰文档的状况下,守护和修改现有代码变得困难。因为担心破坏功能,码农可能会犹豫重构或进行更改。因此呢,码农的生产力将浪费在非核心任务上。
7. 痴心妄想的 Deadline
Deadline 是使码农发疯的原由之一。你必须在较短的时间窗口内完成海量工作时,你会很容易感到懊丧。这可能引起职业倦怠、代码质量差、疏忽 Code Review 等。这将引起技术债的累积。因此呢,码农的生产力会下降。
Deadline 对计划研发周期是必要的,然则经过设置不切实质的 Deadline 来向码农施加压力,会让她们承受压力。在压力下,整体生产力和代码质量都会下降。
总结
上文说到的会议、技术债累积、拖沓的 Code Review、微观管理、引起职业倦怠的压力、垃圾代码文档以及为项目设置不切实质的 Deadline 等原因会阻碍码农的生产力。我试图阐明软件研发人员在追求效率和创造性处理方法的过程中面临的挑战。
其中的重点是,这些挑战是能够经过在码农的健康和高生产力之间创立平衡来克服的。你能够运用有些码农工具来帮忙管理你的生产力、深度专注和工作效率。
下面是有些能够帮忙加强生产力的工具: FocusGuard:这是一个 Chrome 扩展,能够经过屏蔽网站帮忙你保持专注。Code Time:这是一个 VSCode 扩展,用于跟踪你的编码时间和活动编码时间。JavaScript Booster:这个 VSCode 扩展能够为代码重构供给意见。你亦给其他编程语言找找这种扩展。Hatica:虽然以上工具局限于一个任务:专注于编码,但 Hatica 能够处理更加多工作。它经过改进工作流程、识别瓶颈和跟踪进度来帮忙工程团队加强码农生产力。经过这种方式,它能够给码农节约海量的时间。在这儿认识更加多关于这个工程管理平台的信息。原文链接: https://juejin.cn/post/7267578376050114614
|