回望过去, 瞭望未来
今年是 写个人总结的 第二年, 2019-2020 的个人总结可以前往此处阅读此处
本来这篇文章大约在 21年 一月份放出的, 原本的标题是 <各种循环的再开始>
, 副标题是 (循环的再开始不会是错误的重复延续)
, 但计划改不上变化, 循环已经不用再继续了.
如果一直注视着已来的, 反而会错过眼前的, 和 未来的. 过去的失败 都会成为 身体的一部分, 而无需过多萦绕. 而过去成功的, 已经随着时光的河流远去, 像那河底的石头一样沉淀. 人总是 要乐观 和 向前看, 并且 辩证 和 相信所相信的事物.
2020
2020 确实是 收获颇丰的一年, 各个方面似乎都摸到一点头绪
- 项目管理方面, 从年初的
胎死腹中 的 MSC
到年末的AntProj
, 虽然 缺陷跟踪 && 项目文档 && APM 感知 等方面都逐渐完备, 但仍然在 项目时间安排 等的方面有很大缺陷. 虽然 这几个项目没有逃过最终关闭的命运, 不过看得到在向好的方向发展也挺满足的. 来年需要继续提升. - 技术认知(工程师) 方面, 这里分为两块, 上层建筑 和 下层基础 两部分
- 上层建筑部分, 能感觉得到有所提升, 但是很难表达提升在哪. 以前觉得熟悉一个框架也算提升. 但现在并不这样觉得,也算一种提升. 笔者觉得现在技术提升的点, 在于能了解这个框架背后解决的那些事情, 以及它是如何解决的.说白了, 框架只不过是人为封装的一套规则, 熟悉框架只是熟悉这一套规则而已. 彼时的那种
框架狂热
只是一种雾里看花的 迷茫. 未来需要拨云见物, 认知上更加专注于 技术的本身
和本质
, 所谓本身
指的是对于技术细节的抽丝剥茧, 了解其最核心的技术细节, 例如微服务框架的设计思路 和 核心源码阅读
, 而不是停留在一些外围的代码阅读上, 要更加深入 本质, 去了解更有价值的部分, 假想加入是自己做会怎么设计的那些细节, 尽量可以去了解. 下面再举几个例子来表达上面的意思,- Prometheus 的一个例子, 笔者目前只了解了
PromQL 的实现
&&Client 端的 一些Point
,大概了解 Prometheus 的整体实现
. 但仅有这样是不够的, 笔者还需要去了解Prometheus 的 TSDB
是如何实现的, 如数家珍的过一遍, 了解它的设计和细节, 去更加深入本质, 而非日复一日的在外围转悠, 这种深入的细节才是最有价值的部分, 也是可以给予自身价值, 以及 大幅提升自身技术视野的体验. - 再如简单点的例子, 例如 微服务框架, 了解它的结构设计, 或者 可拔插设计只是最基本的, 更深一步是例如 默认 组件的实现 等, 并且微服务框架 作为 日常工作中经常要魔改或者确认的部分, 需要尽量熟悉才是.
- Prometheus 的一个例子, 笔者目前只了解了
- 下层基础 部分, 略有进步, 但是还是进步较小, 而
上层建筑的感知提升
离不开下层基础
的扎实, 所以来年希望能逐步补全下层基础,
- 上层建筑部分, 能感觉得到有所提升, 但是很难表达提升在哪. 以前觉得熟悉一个框架也算提升. 但现在并不这样觉得,也算一种提升. 笔者觉得现在技术提升的点, 在于能了解这个框架背后解决的那些事情, 以及它是如何解决的.说白了, 框架只不过是人为封装的一套规则, 熟悉框架只是熟悉这一套规则而已. 彼时的那种
- 软性能力方面, 这块比较难以描述, 比较零散, 毕竟不局限在计算机领域, 包括,
职业素养
&&沟通与协作
&&心理素质
之类, 来年在自我管理
和知识管理
以及产品思维
&&时间管理
方面需要提升, 除此之外, 沟通能力 特别注意.- 除了上面几点, 还有
团队管理
方面, 以前笔者是觉得 自己做好就行了, 一个人能做的挺好的, 但有个很现实的点在于, 人的一天只有24 个小时
, 即便再怎么强化时间管理, 一个人在一天能够完成的事情也是有限的. 那么如果想要完成更大的事情, 无可避免要进行团队协作, 进而就无可避免要接触团队管理, 即便不是做 Leader, 也至少要理解 Leader 为什么要这样做.
- 除了上面几点, 还有
2020 总结
下面过一遍 2020 的 OKR
-
专业知识补充 , 部分完成的只有
CSAPP 虚拟内存 部分
和Go 部分实现
-
书籍阅读,
坚持阅读100天
的挑战依旧没有完成, 已经读完一遍的书目如下, 和 定的目标仍有距离 (4/12),<人月神话>
,<财务自由之路 [博多.舍费尔]>
,<OKR 工作法>
,<樊登读书法>
-
课程, 今年也买了不少课, 目前还是没怎么看….明年需要尽量清掉一些…
-
源码阅读
- 已经能啃的动一些开源项目的代码. 发现看这种代码得先知道它是做什么的 , 怎么设计的, 架构是怎么样的, 然后再去看, 才能有体会. 不能为了看而看. 就像 看 论文的实现一样, 只看那段代码很难知道作者要做什么, 得读懂 那篇 Paper , 然后再去读代码就能比较在状态.
Code is cheap, show me the talk :)
- 另外就是 尽量挑自己感兴趣的模块去看, 不要想着全数通吃, 这在越往后越是不可能的事情, 并且很多代码其实看了也没啥价值…….
- 已经能啃的动一些开源项目的代码. 发现看这种代码得先知道它是做什么的 , 怎么设计的, 架构是怎么样的, 然后再去看, 才能有体会. 不能为了看而看. 就像 看 论文的实现一样, 只看那段代码很难知道作者要做什么, 得读懂 那篇 Paper , 然后再去读代码就能比较在状态.
-
博客等级, 博客在 Q4 基本是停摆的状态…. 有一些产出, 不过还不太够,
- Articles (7/30)(算上废弃掉的稿件大概有 加起来 10 篇吧)
- juejin (lv2/lv3)
-
英文, 目前还是摸鱼的状态, 2021 会努力
出埃及记
2021 OKR
O1 达成可以完整 Handle 项目生命周期的 项目管理能力
笔者了解
项目管理能力
需要不断的练习和实操来达到提升, 但也希望通过 一些系统性的学习来提升效率
- KR1 通过 PMP 考试 (p1)
- 需要细读 和 精读 以及 理解教材, 这个考试拿证应该是不难的, 主要是设置一个小目标来学习 PMP 的教材
- KR2 在不低于 80% 的得分率下, 通过 软考高级
信息系统项目管理师
考试 (p1)- 也是通过 考试来系统性的学习相关知识, 需要细读 和 精读 以及 理解教材.
- 笔者在刚刚毕业那会儿, 去尝试考过
软考高级的系统架构设计师
考试, 上午的客观题 和下午的案例分析感觉都挺简单的, 在论文的环节有些困难…确实没有经验的话, 挺难掰出那篇论文.
KR3把握机会, 多多练习
O2 达到 同等与 Ali P7 的综合认知
Ali P7 层级名称是
专家
, 笔者认为 专家 的 综合认知 体现 在两个方面,硬实力
和软实力
, 其中硬实力
又可以 体现 这四个方面
- 硬实力
- 方案设计
- 对于现有软件和架构的了解(例如 开源软件 和 开源框架)
- 下层基础知识的完备
- 技术直觉
从硬实力的角度, 前面三者都无需太久的沉淀, 通过一些方法刻意练习即可,
- 方案设计
- 公司项目中磨练
- 用
沙盘项目
或者已有产品
来练习, 例如如果是笔者来规划 Aliyun 的系统设计, 会怎么做, 然后去根据找得到的系统讲述, 来相互对照参考
. 或者想着将公司的某些系统重构, 然后与现有系统对比
, 之后再换个脑子 去寻找这些系统设计中的缺陷. 类似于GAN
里面的Generator
和 判别器 的感觉- 对现有软件 和架构的了解
- 需要看到足够深的地方, 例如如果公司采用 Consul 做服务发现, 那么笔者至少要对 Consul 的 生命周期时序 && 核心实现 && 代码结构 有所了解, 方便后续
出现问题快速确认 和 定位
以及快速提出修改方案
- 下层 基础知识的完备
- 这里讲的不是 说记住那些零散的知识点, 而是融会贯通, 把这些零散的点串起来.
- 主要还是啃书, 然后 在日常工作中 去体现
-
KR1 下面这些方向中, 完成对应的总结博文的方向 >= 2 (p0)
- 操作系统方面
- 操作系统原理
- 计算机组成原理
- *nix 高级编程
- 编程语言方面
- 编译原理
- PL
- GC
- 网络方面
- 计算机网络基础
- 经典网络协议细节
- *nix 网络基础
- 其他
- 密码学基础
- 分布式算法原理
- 经典算法
- 数据库底层经典算法 和 设计原理
- 操作系统方面
-
KR2 深入了解的系统/框架 数量 >= 3 (p0)
- 备选的有如下
- Go Micro v1 || v2 || v3(微服务框架)
- golang/go (编程语言)
- Prometheus (TSDB)
- Consul (分布式 KV 数据库)
- Kubernetes (容器编排工具)
- Istio (服务网格)
- Mixin Network Kernel (区块链分布式节点)
- ETCD (分布式 KV 数据库)
- 备选的有如下
-
KR3 学习的新编程语言 >= 1 , 并且使用新学习的编程语言完成一个 微服务框架 (p2)
- 备选的有如下
- Rust
- C++
- Common Lisp
- Elixir
- 备选的有如下
-
KR4 完成 方案设计练习 >=1 (p2)
-
KR5 使用 时间利用 追踪软件 进行时间管理, 量化时间使用 (推荐睡觉前记录一下一天的时间使用) (p0)
-
KR6 逐步形成 知识管理体系
-
KR7 完成一次 Ali 面试通过 并定级 P7 (p2)
这个够呛, 不过既然 O 都这么写了, KR 里面没有个 定级 P7 总感觉少了些什么 23333
O3 handle 一个 5 人以内的 team
这是 软性能力 的综合表现. 而通常一个 Team Handle 不住的表现在于, 项目延期 && 离职率上升 && Bug 数量上升 , 总而言之就是 1+1 <2. 那么及格线就是 1+1 = 2.
- KR1 在 一个 Q 的时间里, 项目稳步进行. (p1)
2021 KPI
书籍阅读
慢下来, 尽量总结和旁通, 并书写 阅读笔记 和 思维导图
- 年书籍阅读量 >=16
- 完成 阅读 1h 坚持 100 天 计划 (毕竟读完才能买 PS5)
课程
课程主要是在如下 几个平台, 极客时间
&& 得到
, 也可以尝试 极客时间的 直播课
|| 训练营
. 另外以目前的英文水平, 在 2021 可以尝试看看一些英文 课程. 课程结束要完成 阅读笔记 和 思维导图
- 完成的课程数量 >= 16
博客
输出不能停丫
- Articles 的数量 >= 30
了解外面的世界 以及 被泼冷水
- 大厂面试次数 >= 2
英文
六级试卷及格次数 >= 3