年度创作者感谢咱们投上宝贵一票

天天开会,我还有时刻写代码吗?
接口自测过没,怎么联调还有这么多问题?
需求怎么又变了,PD究竟有没有个准信?
又是版别发布倒排,需求这么多能做的完吗?
以上各种场景咱们在日常的作业中是不是经常碰到,今天慕枫就和咱们聊一个非常有意思的论题,程序员为什么总是要加班,究竟谁偷走了程序员的时刻,咱们应该怎么做才干防止不必要的加班。

谁偷走了程序员的时刻

要想少加班就要搞清楚是什么要素导致了程序员加班才干完成作业,也就是说咱们得先弄明白程序员的时刻究竟被谁偷走了。咱们先剖析下程序员每天的作业主要包含了哪些内容,因为只要搞清楚程序员时刻都用在哪里了,咱们才干对症下药拟定相应的优化计划,防止时刻黑洞糟蹋精力资源在一些不重要的作业上,把时刻和精力更多投入到重要的作业上以及需求完成的任务上。

有的同学或许会说,程序员嘛,作业不就是码代码嘛。假如真的只是这样,我想咱们真的要烧高香了,实践上程序员的日常作业远远不至于写代码一个作业,乃至有的时分一天代码没写几行都在开会。

慕枫将程序员的作业主要划分到以下三大块内容中,接下来咱们来具体剖析下怎么在这些冗杂的事项中把本该归于程序员编码、考虑规划的时刻给抢回来。

源源不断的会议

事务需求KO会议

在阿里,一般当事务方需求过来之后,PD或许产品司理睬安排会议对技能同学进行产品需求进行KO或许澄清。在会议中PD或许产品司理需求讲清楚为什么要做这些需求、需求的内容是什么以及想要到达的事务作用,一起接受来自技能同学汹涌而来的挑战,一般这种会议打底要1到两个小时,有的时分评论剧烈的话或许都不止,乃至或许需求多次会议来回评论才干确认需求。

技能评审会议

需求确认过之后,技能同学就需求进行对应的计划规划,咱们想清楚怎么做这个需求,一起输出相应的规划文档,规划文档中主要包含实现逻辑、修正点、时刻计划、灰度策略等等,规划计划完成之后组内会先过下计划,把关下质量。一起负责这次整体需求的技能PM需求安排事务全链路节点的技能同学来对焦各自的技能计划,看看有没有什么遗失之处,需不需求上下游事务节点的支撑,这个会议根本上1到两个小时。

测验评审会议

技能计划确认之后,测验同学就需求根据PRD文档以及规划计划来编写测验用例,也会安排会议找技能同学来看看测验计划合不合理,测验用例还有没有遗失的地方。这个会议根本上1到两个小时。

毛病复盘会议

这个会议大概是程序员最不想参与的会议了,在互联网公司呈现毛病是需求进行复盘的,一旦要开毛病复盘会议就意味着呈现了线上毛病。程序员最忧虑的就是呈现线上毛病,假如搞出来一个P0级其他,根本一年就白干了,提前预定本财年3.25。

其他会议

还有一些其他会议,比方项目KO会议、渠道对接会议、计划评论会议、交互评审会议等等。

开发

技能同学开发编写代码以及功用自测,完了之后再和前端同学或许上下游事务的同学进行联调,这个进程也是比较耗时刻的。因为在联调的时分总是会遇到这样或许那样的问题,比方环境问题、数据问题、代码Bug等等。其间最主要的就是代码Bug问题,因为有的技能同学或许因为时刻关系底子没来得及自测就和咱们进行联调,直接把联调当作自己的单元测验和功用自测了,所以这种状况下根本都是一边联调一边修正的状态。别的在联调的时分或许也会发现一些规划上对不齐的地方,这个时分也需求进行修正,相同需求消耗时刻。

碎片化的杂事

杂事就许多了,比方其他团队的技能同学来向你咨询事务问题,你得花费时刻向他人解答。小组内每个同学都需求进行技能共享,那你就得预备PPT,还得认真预备,因为咱们需求不断建立自己的技能影响力,假如讲的东西太水了,实践上糟蹋自己的时刻也糟蹋他人的时刻。功用发布上线之前,TL以及组内的同学需求review你的代码,这也会消耗一个小时左右的时刻。线上假如呈现报警,咱们就需求排查定位问题修正bug。相似这种碎片化的杂事充斥在咱们的作业中。

怎么防止不必要的加班

咱们剖析完了每天的时刻都花在哪里之后,就能够进行针对性的进行时刻压缩。

不必要的会议能不参与就不参与

这里举个栗子,在需求澄清会议中,一般会对一批需求进行澄清,这些需求许多时分只要一小部分和咱们相关,所以在会议上咱们对和咱们相关的需求进行要点评论和了解,在确认完需求内容之后就能够撤了,其他和自己不相关的需求没有必要再耗时刻在会议上,这样能够大大压缩参与会议的时刻。

防止外表共同

在整个研制活动中咱们需求防止外表共同状况的发生,什么意思呢?就是咱们需求真正把需求弄明白想清楚再动手写代码,否则在没搞清楚需求状况下写代码,很简单呈现做出来的功用和产品要求的呈现偏差的状况,那么在验收的时分就简单不通过,然后就是相互扯皮,研制说产品其时没有讲清楚,产品说是研制没有了解透需求。最后就是返工从头修正,白白糟蹋了时刻。所以咱们不如在需求确认阶段,多花点时刻和产品司理进行需求的深入交流,把需求吃透了确保没有了解上的偏差,防止外表共同,这样能够协助咱们节约许多时刻。

琐碎作业统一处理

咱们所负责的事务不可防止的会有事务合作方来咨询你怎么用渠道以及对接的作业,比方渠道怎么运用,有哪些开放能力等等。来咨询的同学一般呈现散点状,也就是说不固定时刻来咨询,有的时分你正在奋笔疾书写代码,可是他人过来咨询就会打断你的编码思路占用开发时刻。所以这个时分你能够考虑专门下午四点到五点固定时刻段拉个群来统一回复他人的问题,或许说怎么对接的写一篇文档,有他人过来问的就先让文档,这就好比智能客服相同,这样能够协助你挡掉70%左右的问题。难免这种事务答疑打乱你本来的开发作业。

加强代码质量管理

自己写的代码的时分要注重代码质量操控,这样在和他人联调的时分能够保证自己没问题节约一部分时刻,别的上线后没有问题,愈加节省了后续在向上定位排查解决问题以及复盘的时刻,假如代码质量不好匆忙上线或许会糟蹋自己更多的时刻。

总结

本文主要和咱们剖析了下程序员的时刻都花费在哪些事项傍边,咱们怎么做才干防止不必要的加班。假如文中有适合咱们运用的小技巧,能够在实践作业中试一试。我一直觉得作业是为了更好的日子,所以咱们尽力减少不必要的加班,多陪陪家人,多分给日子多一点时刻,信任能够减少咱们的精力内耗。

年度创作者感谢咱们投上宝贵一票

往期引荐:

怎么优雅的消除项目中的重复代码

同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧

一文扫清DDD中心概念了解障碍