OKR全称Objectives & Key Results,是实现目标管理、推动执行合作的方法论。OKR工作法是风靡全球的优秀实践,它不仅提供了个人在目标规划和预期产出的具体实现路径,而且帮助了企业组织在更大范围内的目标对齐。
OKR同时也是一种具体的工具,笔者在此强烈推荐一下飞书OKR!
笔者在字节的日常工作中深刻感受到OKR的强大作用。虽然在个人技术博客的建设中不涉及到OKR的团队目标对齐,但就目标的拆分和产出的预期来说,OKR已经是非常强大的自驱工具了。因此,笔者也决定长期坚持使用OKR来为自己定制目标。
6、7双月OKR总结与反思
6、7双月的忙碌出乎笔者的预料,因此技术博客的建设进度不佳。
- Objective 1:深入理解云原生核心存储——etcd
- KeyResult:理解分布式共识算法raft,通读etcd raft模块的具体实现,沉淀1篇博客。[基于hashicorp raft库完成demo]
- KeyResult:理解etcd底层存储引擎,沉淀1篇博客。
- KeyResult:深入理解etcd watch机制,沉淀1篇博客。
- KeyResult:完成极客时间《etcd实战课》学习。 [完成基础篇学习]
自我打分(满分1.0):0.2。
4、5双月在定制目标的时候,期望这阶段能够大幅度提升对etcd的理解并有所沉淀,不过最终比较尴尬的是因为工作本身的忙碌并没有太多空余时间投入在博客创作上面。不过笔者还是完成了《etcd实战课》基础篇的学习,后续会继续完成剩余的实战篇学习。
此外,通过对一些资料的研习,笔者对raft算法有了更加具象化的理解。毕竟每当提及raft时候,大家总是会下意识地围绕那三个子问题做一些比较抽象的回答。
笔者因此希望能够基于raft库来做二次开发。后经过一轮调研,笔者发现相比于etcd的raft库,hashicorp的raft库资料更加丰富一些,因此笔者也花时间研究了一下它的使用方式,还是颇有收益的。
不过整体来说,Objective 1还是远低于预期。
- Objective 2:深入理解go语言
KeyResult:go语言内置类型chan源码剖析,沉淀1篇博客。[《Go源码学习之channel》]KeyResult:go语言内置类型slice源码剖析,沉淀1篇博客。[《Go源码学习之slice》]KeyResult:go语言内置类型map源码剖析,沉淀1篇博客。[《Go源码学习之map》]
自我打分(满分1.0):1.0。
Objective 2的完成度是令笔者较为满意的。由于go语言在云原生技术栈中的核心地位,笔者会始终在深入go语言底层中坚持努力和突破!
6、7双月在go语言的内置数据类型方面,笔者从源码层面剖析了其实现,并且对每种数据结构的增删改查操作都进行了比较详细的描述,收获很大。
- Objective 3:架构设计精粹系列
- KeyResult:总结1个业务场景的架构设计,沉淀1篇高质量的博客。
自我打分(满分1.0):0.4。
笔者在选题方面其实已经确定,但由于工作比较忙目前本篇架构设计仍在创作中,会尽快发布。“架构设计精粹系列”本意是总结和沉淀在业务中比较富有价值的技术架构,锻炼抽象和架构思维,从而提升未来架构决策上的质量。
- Objective 4:提升技术领导力
KeyResult:完成极客时间《乔新亮的CTO成长复盘》学习。- KeyResult:完成极客时间《项目管理实战20讲》学习。
自我打分(满分1.0):0.5。
技术领导力是在6、7双月新引进的Objective,在通读完《乔新亮的CTO成长复盘》之后,笔者从乔老师那边学习到了很多管理者的视角和思维。从感性的认知来说,笔者其实并不享受担任管理者的角色。但笔者不得不承认管理者的重要性,尤其是从工程师向管理者过渡的阶段,尤其容易陷入一些误区。笔者比较直观的体会有:
- 误区一:事必躬亲。一个人的精力是有限的,在管理的同时必须要学会放权和归纳。既要让下属充分成长,又要具备解决他们成长路径问题的能力。
- 误区二:包工头。包头工则站在了事必躬亲的对立面,对于手上被分配到的任务和压力直接转给下属承担。这一点是很多管理者的现状,由于自身不思进取,尤其在技术决策上不具备说服力的时候,管理者容易陷入包工头的角色,并逐步开始追求流程、规范、交付时间。这对下属的危害是比较大的,包工头角色的管理者往往失去了对下属产出的评价能力,因此会滋生向上管理的职场恶习。
- 误区三:贩卖信息。当技术人员转变成为管理者的过程中,会逐渐失去工程细节:比如代码实现能力逐步退化。部分管理者往往会陷入焦虑中,这反应出管理员对于自身价值的认知出现了迷茫。此时容易产生“贩卖信息”这一现象,即管理者为了稳固地位,基于自身的职级和渠道在获取到信息之后,隐藏或者自行加工信息,造成下属对上下文的认知缺失,从而在更高维度“威慑”下属成就自身。
8、9双月OKR定制与展望
6、7双月的工作投入和技术博客投入,让笔者充分意识到“鱼与熊掌不可兼得”。笔者也因此开始思考未来的发展方向,纯粹靠兴趣驱动来提升是不够的,每个人都需要实践的机会,因此笔者也有意在未来全面投入云原生的怀抱并作为长期发展的方向。
接下来制定8、9双月的OKR
- Objective 1:深入理解云原生核心存储——etcd
- KeyResult:理解分布式共识算法raft,基于hashicorp raft库深入raft实战,沉淀1篇博客。
- KeyResult:理解etcd底层存储引擎,沉淀1篇博客。
- KeyResult:深入理解etcd watch机制,沉淀1篇博客。
- KeyResult:完成极客时间《etcd实战课》剩余实战篇的学习。
- Objective 2:理解资源调度
- KeyResult:深入go的runtime层,理解MGP调度,沉淀1篇博客。
- KeyResult:深入Kubernetes的调度器,理解scheduling framework,沉淀1篇博客。
- Objective 3:架构设计精粹系列
- KeyResult:总结1个业务场景的架构设计,沉淀1篇高质量的博客。
- Objective 4:提升技术领导力
- KeyResult:总结跨部门协作的经验,沉淀1篇博客。
感悟体会
继续加油,再接再厉!