0%

周报,软件构建和职业发展

吾日三省吾身

​ ——《论语·学而》

距离上次频繁发布文章,已经过去一个多月了。这一个多月以来,我非常认真的研究关于取款链交易和SPV节点相关的问题。今日又听闻leader关于自己软件生涯的反思和总结。leader开发生涯漫长,反思亦有重大价值,故作文。

在软件开发过程中,几乎每家公司都有写周报的要求,管理粒度更细化的公司还要要求日报。要求详细回报每日、每周的工作情况。周报从公司和项目leader的角度来说,他可以监控开发人员的开发情况,对于KPI管理也有较大作用。但是多数时候我们是怎么对待周报的呢:觉得周报是对公司的交代,对领导交代?每周的周报在周末快下班的时候草草了事?我想这是普遍现象。

其实周报最大的意义是关乎我们自身的。周报的最大意义是对于我们工作的总结和预估。不知道读者读过柳比歇夫那本《奇特的一生》吗?那本的书所宣扬的思想并不复杂,就是精确地统计自己每日工作时间。然后每日总结,看自己那些时间是低效浪费的,加以改进。时间统计法最大的原则就是诚实。吃饭喝水,哪怕是工作时间划水也要如实记录。Timelog和周报的区别就是,Timelog完全是对自己负责,写周报的时候大部分都想草草了事。诚实的对待自己,才有修正的余地。通过日复一日的精确统计和反思,柳比歇夫爆发了惊人的工作效率。如果周报能真诚面对自己,对自己负责,也比想着对公司负责拥有更大的意义。实际上,每日报告更高级的形式是先做规划,一日结束之后再对自己进行总结。所谓吾日三省吾身,这就是对我们软件开发的反省。

可以预见,这种形式的开头,必然是痛苦的。因为我们每日开头做的计划,再每日结束的时候是很难完成的。毕竟对于预见性计划,开始的时候我们都是新手,精准规划必然是精英的技能,是反复练习的结果。新手阶段每日反省时刻,如果计划没有完成必然痛苦。因为我们看不到结果,在短期中也感受不到进步。不过我始终认为,所有对我们有意义的事情,开头必然是痛苦的。其实在过去一年的rust学习中,我也在适当的引导下尝试这个方法,每周列出自己学习计划,然后每日学习,学习之后进行反思。再周末的时候再进行一次大反思,根据小反思和大反思去改进下一周的计划。产生的结果就是,经过数个月的学习,我的rust基本达到了可用的地步。

第三个观点是:所有看似轻松地过程,必然有反复的枯燥练习。以上的周报书写过程,按照周leader的说法,如果我们能每日坚持。必然在软件构建和职业发展上有巨大进步。因为人的一般认知限定了,我们很难有预估未来的能力,除非反复练习,每日坚持。leader提到,如果我们反复练习这种,预估,实践,反思的三步走模式就能在更长的时间单位中做到更好的预估。做到任何事情(主要是写代码)都能做到心中有蓝图,我们就能完成规模更大,复杂度更高的任务。试想如果团队中的每个人都有这种觉悟和能力,我们必然工作开心而高效。因为我们的思路不断清晰,我们清晰的之后自己干过什么,我们将要做什么。开发中的迷雾将在我们的探索中不断消散,直至成功。

共勉