本文系去年春节前年终面谈的时候,鲁平写给我的小组年终面谈总结。我读完之后有很多感触,所以推荐给寒水将文章整理出来,分享给所有的同事。在我看来,文本至少包含了以下几个值得一提的点:

1. 将工作有序、有条理地归档;

2. 站在需求方的立场思考问题,对工作精益求精;

3. 通过及时、全面的小组复盘和相互review代码,发现问题、不回避问题、快速进步;

当然,还有一个必须一提,就是鲁平在做事的过程里摸索出来的带团队的思路和格局。未来的路还长,希望鲁平能和开发的同事们取得更多成绩,也希望其他团队的同事们借鉴和学习。

——曾老师

大家好,我是TD开发B组的负责人鲁平。今年是我在TD工作的第三个年头,也一路从一个初出茅庐的程序员成长成为一名技术团队负责人。在这三年中,我也逐步摸索到了帮自己进步的方法——把自己当成一款产品/程序,保持不断地自我优化和迭代。而想做到这一点,最重要的就是坚持复盘。

今年年初,我将过去一年的反思和感悟总结成文分享给大家,欢迎大家共同探讨。

2020年的反思

1.文档留存做的不够好,不利于整体复盘总结。

2.组内技术分享做的不够好,需要加促进同事间的技术交流,争取做到相互之间都能备份,遇到问题人人都能解决。

3.组间交流和技术探讨做的不够好,争取在新的一年里加强和A组的联系,通过流程化思维来提高开发同事做事的质量,共同提升技术追求,加强协作能力。

2020年的感悟

一群人卓越,才能造就一个卓越的团队

一个人卓越,造就不了一个卓越的团队;一群人卓越,才能造就一个卓越的团队。这一年团队的进步,和大家每个人的努力分不开。

开发的工作表面上看多在乎技术能力本身,但实际上做事的激情以及对待需求的态度更是工作成果好坏的直接决定因素。

当遇到比较大且复杂的开发需求时,我都会要求组内同事先做好需求文档。文档工作一般都是最枯燥的,对程序员来说不是热情所在,但同事们每次做的文档都很细致、很用心,甚至连标点符号和格式都一丝不苟,这种做事不分大小都认真对待的严谨和高度的配合意愿都让我非常欣喜。

就算是使用频率较低或者相对简单的需求,他们也会尽自己所能,站在需求方的角度去提前设想各种可能性,积极地在“完成”的前提下同时做到“优化、极致”。比如有同事自己觉得课程中心的前端页面有些不好看,就会在完成新需求和日常工作之余,自己主动开始优化页面样式。完成之后才展示给我们,呈现的整体效果非常好,敲定细节之后便直接整体上线了。

TD课程中心在线教材页面

并没有人对他们提出要求说需要做任何改善,但他们能主动思考、自发优化,让自己和团队始终站在一起,看重整体团队的成果而不是机械完成指令,这一点是非常值得我们学习的。其实反过来想,如果组内每个人都能有这样的激情和态度,就一定能避免绝大部分的bug和业务逻辑上的问题,成就整个团队的卓越。

避免问题重复出现的最佳方法就是立规矩

组内也有同事之前做事不够认真,对于需求背后的业务逻辑没有思考到位,写出的代码覆盖不了所有的场景,还容易出问题;并且沟通的积极性不够,会出现需求聊不到位、实现出来的逻辑出现偏差等情况。对于这个问题,我一开始的处理方式是单独开会提出问题和建议,但是效果并没有想象中的好,反而会引发负面情绪。

思考过后之后我改变了方式:

1. 出现错误,集中复盘

在每次开周会的时候,集中把大家出现的问题都列举出来并发动全体组员一起讨论。每个错误都不是谁都能保证不出现,所以这样集中沟通讨论出现的原因和避免的方法很有必要,如果是具有普适性的问题则立刻形成明确的规定和习惯,大家完成任务时都共同遵守。改变方式之后,大家就能够比较好的接受自己错误,并能够有效改正。

2. 互相测试和review代码

其实每个程序员都对自己的代码有谜之自信,感觉自己的思路没有问题,能够覆盖所有的场景。但为了避免漏洞,在较大且复杂的新需求完成自测之后,我们会整体的过一遍每个人的代码,确保每个人的逻辑都没问题,且没有那种一看就觉得会出问题的「坏味道」代码。当需求小、复杂度低的时候,我会组织大家互相测试和review代码,他们看完之后,我再整体review一遍代码。

同时,我建立了一个规矩:新需求上线之前,必须由组内同事帮忙检查过。大家都普遍反馈这个流程很有好处:每个人代码质量、规范程度、性能水平都能够在组内公开,写的不好的代码会被直接指出来,看别人的代码也能看到差距,激励进步,而写的好的代码大家也能够互相学习。

3. 直面问题,确认理解

当新需求比较大,或者比较复杂的时候,我们会直接开会聊需求,大家都讨论完成之后,我会直接让每个人自己将所有的流程都做一遍讲解,说的不对的地方大家帮忙指正,再之后还会随机抽选同事说一遍。所以这里的解决思路就是直面问题,当有同事没有完全理解需求的时候,大家一起帮助和监督他理解好新需求,确保后续工作顺利展开。

帮助一个能力弱的同事成长,其实意义很大

半年以来,通过不断地帮助大家梳理逻辑,能明显感觉到组内整体的工作态度和做事方式都有较大改观。我自己也有了一些更深刻的感悟:团队内部每个人的能力,做出的贡献要做到公开透明,这样更利于优秀的人带动整个团队进步,能力弱的同事向能力强的同事学习,向上看齐。

2021年的目标

部分同事只了解自己已做过功能的业务逻辑,但对现有系统的整体布局和业务逻辑理解不够深刻,这对于进一步深入优化和改善之前的功能模块是不够的。这里我自己也做出检讨,并给自己定下了2021年的目标:

1. 帮助能力较弱的同事多学习基础的技术原理,这样才能抓住问题的本质,更快更好的解决问题。在以后的工作任务中,会需要逐步的要求他们多做学习,完成一些难度工作,这样可以更好的和团队一起完成需求,也能帮助自身成长。

2. 推进公司内部程序员技术分享交流,让每个人都能够持续进步,让团队整体有更强的战斗力和技术氛围。要多创造机会提供平台,让技术强的同事在保持自己技术能力前进的同时,也做好归纳和总结,多给其他同事分享,补齐同事间的技术认知。大家的整体技术实力上去之后,才能有讨论和商量的基础,不至于某一个人遇到棘手的问题之后感觉束手无策,这样也才能促进整个团队的成长。