代码精进之路:从码农到工匠-技术Leader的修养

记录张建飞《代码精进之路:从码农到工匠》的阅读笔记!!!

一、技术氛围

特别做业务开发的技术团队,如果管理者完全不关心技术细节,绩效完全和业务KPI绑定,就会导致工程师们整天只会写if-else之类的业务代码,得不到技术上的成长。在这样的技术团队,团队的战斗力和凝聚力都会每况愈下。

1.代码好坏味道

张建飞这样说:在我们团队周会中,有一个固定的环节是”代码好坏味道”:当天的会议主持人(我们的周会是轮值主持的,每个团队成员轮流组织一期)要给大家分享3个代码好味道和3个代码坏味道,这些代码既可以是来自我们工作中的代码,也可以是来自开源软件的源码。

2.技术分享

分享是倒逼我们去学习和总结的有效手段。在准备分享的过程中,我们要去阅读很多资料,要把原理弄清楚,还要用别人听得懂的方式表述出来。最重要的是,通过分享,整个团队都能学到新的知识,分享人和倾听者都会收益颇丰,何乐而不为呢?

3.CR周报

CR(Code Review,即代码审查)是保证代码质量和架构风格一致性的重要手段。
CR周报就是要把CR的结果透明化,通过周报的形式展现团队在一周中的CR成果,通过周报的形式展现团队在一周中的CR成果,包括团队成员的CR评论数排名、代码分支的质量情况,以及CR中的典型案例。这种透明化非常有价值,既可以帮助技术Leader了解代码质量的概况,也能极大地调动团队成员进行CR的积极性。

4.读书会

作为一个技术Leader,我们要带头读书,现在很多下属不信服老板,就是因为老板不读书、不学习、不能给团队带来新的输入和营养;其次,要鼓励团队多读书,成立读书会就是一个很好的形式。
关于读书会的运作三点经验;
● 书的范围可以放宽,不要只局限于技术类书籍,毕竟除了技术,我们还有很多东西要学。
● 读书的方式,可以是同读一本书,也可以拆书,就是每个人分别读书的一章或者几章,然后互相分享书中的内容和读后感。拆书的效率更高,比较适合工具类的书。
● 读书会的举办频率可以灵活一些,工作任务紧的时候,频率适当放低,甚至暂停。

二、目标管理

1.什么是OKR?

目标管理的常见手段有关键绩效指标(KPI)和目标与关键成果(OKR)两种方法。相比较而言,一味地追求KPI,可能会导致短视;OKR更注重短期利益和长期战略之间的平衡。

OKR具有的两个特点:
● OKR可以不和绩效挂钩,主要强调沟通和方向。
● OKR比KPI多一层级的概念,O(Objective)是要有野心的、有一定的模糊性,但是KR(Key Result)需要可量化的,并且KR一定要为O服务,不能偏离O的方向。

2.SMART原则

● S代表Specific,表示指标要具体。
● M代表Measurable,表示指标要可衡量。
● A代表Attainable,表示指标是有可能达成的。
● R代表Relevant,表示KR和O要有一定的相关性。
● T代表Time Bound,表示指标必须具有明确的截至期限。

3.OKR设定

OKR中的目标必须是要有野心的。因为只有高远的目标,才能最大程度地激发人的潜能。目标是否足够有野心也是区分OKR与KPI的一个标志,KPI拿100分的员工,OKR可能只有0.5分(OKR的得分是0~1分),这才是正常的结果,证明该员工的目标(O)比其他人的KPI要高很多。

三、技术规划

技术规划和目标管理的共同之处:
都是要在技术团队中理清接下来要做的事情。

技术规划和目标管理的不同之处:
技术规划更多的是从团队视角去看接下来要做的事情进行拆解,和个人目标对齐。

对于技术Leader而言,做好技术规划是非常重要的事情,一个团队有没有价值,最终还是要通过做出来的事情来体现。

1.当前问题

当前问题主要看团队中现在有什么迫切、紧急的问题需要解决,有哪些坑要去填。

2.技术领域

技术领域要做的是在这些常规领域中,根据业务情况和团队情况选择一些领域和命题(比如稳定、性能、效率等),并在这些命题和方向中根据优先级做判断。

3.业务领域

让业务先赢是技术的首要使命,即使我们身处技术团队,也要充分理解业务、关注业务,要分析业务数据和发展趋势,和业务同事充分交流,总结和抽象出业务的发展对技术会提出什么诉求,需要技术做什么布局和建设以应对业务发展的需求。

4.团队特色

作为技术团队,我们要对比团队内外技术的异同,最终圈定一个差异化领域。这块区域是团队的特色技术,是团队借外力之外要修内功的部分,是不依赖别人而主要靠自己突破的部分,是团队相比外面的差异化竞争力。这一层很重要,对团队的口碑、影响力和稳定性都有较大的影响;同时这一层又是最难的,很多技术团队在这一层次是空白的。

四、推理阶梯

● 1.收集数据:每个人每天都会接受来自外界的大量信息,这些是产生推理的基础。
● 2.选择性接收数据:尽管我们不愿意承认,但”选择性接收”才是大脑处理信息的固有方式。有句老话:“顺眼的人越看越顺眼,讨厌的人越看越讨厌。”“情人眼里出西施”,说的就是这个道理,没人能避免。
● 3.做出假设,得出结论,采取行动:在选择性接收数据之后,我们自然而然地就会想要赋予这些数据意义,从而做出种种假设,并得到相应的结论,然后采取行动,这就是大脑中“推理阶梯”的整个过程。

五、Leader和Manager的区别

Manager是管理事务,是控制和权威;而Leader是领导人心,是引领和激发。Leader要做一些Manager的管理事务,但是管理绝对不是Leader工作的全部。

六、视人为人

视人为人不仅是和他人处好关系,也是一种原则和勇气,你不能视一部分人为”人”,视一部分人为”神”,视一部分人为”物”。
● 对待上级——有胆量。
● 对待平级——有肺腑。
● 对待下属——有心肝。

文章目录
  1. 一、技术氛围
    1. 1.代码好坏味道
    2. 2.技术分享
    3. 3.CR周报
    4. 4.读书会
  2. 二、目标管理
    1. 1.什么是OKR?
    2. 2.SMART原则
    3. 3.OKR设定
  3. 三、技术规划
    1. 1.当前问题
    2. 2.技术领域
    3. 3.业务领域
    4. 4.团队特色
  4. 四、推理阶梯
  5. 五、Leader和Manager的区别
  6. 六、视人为人