作为一个技术Leader,要如何去提升团队的技术氛围

【作为一个技术Leader,要如何去提升团队的技术氛围】一个技术团队 , 不管大小 , 如果没有“技术味道” , 那么技术Leader负有很大的责任 。 “技术味道”的缺失 , 是目前技术团队存在的最大问题 。 特别是做业务开发的技术团队 , 如果管理者完全不关心技术细节 , 绩效完全和业务KPI绑定 , 就会导致工程师们整天只会写if-else的业务代码 , 得不到技术上的成长 。 在这样的技术团队 , 团队的战斗力和凝聚力都会每况愈下 。
那么作为一个技术Leader , 我们要如何去提升团队的技术氛围 , 重燃团队对技术的热情呢?下面是我在日常带团队的过程中使用的一些提升技术氛围的方法 , 方法并不难 , 在任何的技术团队都可以操作落地 。
1 代码好坏味道在我们团队周会中 , 有一个固定的环节是“代码好坏味道”:当天的会议主持人(我们的周会是轮值主持的 , 每个团队成员轮流组织一期)要给大家分享3个代码好味道和3个代码坏味道 , 这些代码既可以来自我们的工作代码 , 也可以来自开源软件的源码 。
这个活动非常有意义 , 一方面每个人都会更多地去读他人的代码 , 另一方面自己在写代码时也会比较注意 。 因为一不小心 , 自己写的代码就可能成为反面典型被拿出来“晒” 。 晒代码不是关键 , 关键是通过晒代码 , 我们可以互相分享写好代码的心得和经验 , 特别是一些来自开源软件的好味道 , 对我们写好代码有非常好的指导意义 。 这样整个团队的技术能力都会提升 , 当然 , 也包括Leader自己 。
2 技术分享分享是倒逼我们去学习和总结的有效手段 。 在准备分享的过程中 , 我们要去阅读很多资料 , 要把原理弄清楚 , 还要用别人能听得懂的方式表述出来 。 最重要的是 , 通过分享 , 整个团队都能学到新的知识 , 分享人和倾听者都会收益颇丰 , 何乐而不为呢?
例如 , 我所在团队的近几次技术分享分别是关于Service Mesh、FaaS和Cloud Native的(见图11-1) 。 这些概念虽然很重要 , 但是日常工作中暂时还没有使用场景 , 没有必要每个人都去研究一遍 , 因此分享学习是一种非常经济的团队学习模式 。 一个人学 , 然后整个团队都能有了解和认知 。 期间大家还可以有讨论和碰撞 , 这样既学到了东西 , 又增加了团队成员之间的连接 , 其作用不亚于一次团建 。
作为一个技术Leader,要如何去提升团队的技术氛围文章插图
图11-1 团队正在分享Cloud Native
3 CR周报代码审查(Code Review , CR)是保证代码质量和架构风格一致性的重要手段 。 我们试过很多CR的方式 , 有Peer Review(点对点地审查) , 也有Group Review(团队成员一起审查) 。 这些方式都很好 , 但有一个共同的缺点 , 就是很难将过程透明化 。
CR周报就是要把CR的结果透明化 , 通过周报的形式展现团队在一周中的CR成果 , 包括团队成员的CR评论数排名、代码分支的质量情况 , 以及CR中的典型案例 。 这种透明化非常有价值 , 既可以帮助技术Leader了解代码质量的概况 , 也能极大地调动团队成员进行CR的积极性 。
如图11-2所示 , 这是我所在团队一期CR周报的节选 。 同样 , CR周报的发送人也是轮值的 , 通过这种方式 , 我们真正做到把CR变成我们工作的一部分 。
作为一个技术Leader,要如何去提升团队的技术氛围文章插图
图11-2 CR周报示例
4 读书会在一个人的能力象限中 , 我非常看重学习能力 。 原因很简单 , 一个人一旦停止了学习 , 就停止了进步 。 读书虽然不是学习的唯一方式 , 但一定是不可或缺的方式 。 我在面试候选人时 , 会经常问“你过去一年都看了哪些书” , 如果一本都没看过 , 基本该候选人就不在我的考虑范围之内了 。
因此 , 我的团队中是非常重视读书这件事的 。 首先 , 作为一个技术Leader , 我们要带头读书 , 现在很多的下属不信服老板 , 就是因为老板不读书、不学习 , 不能给团队带来新的输入和营养;其次 , 要鼓励团队多读书 , 成立读书会就是一个很好的形式 。
关于读书会的运作 , 在此分享以下3点经验 。
1)书的范围可以放宽一点 , 不要只局限在技术类书籍 , 毕竟除了技术 , 我们还有很多东西要学 。 例如 , 我们最近一次读书会选的书是《高效能人士的七个习惯》 。
2)读书的方式 , 可以是同读一本书 , 也可以拆书 , 就是每个人分别读书的一章或者几章 , 然后互相分享书中的内容和读后感 。 拆书的效率更高 , 比较适合工具类的书 。