目标
2021年年初做整年规划的时候,我把简历 title 改成了云原生开发工程师
。2021年的主要目标就是补齐云原生技术栈。当时定的目标主要有
- 写一个 k8s Operator
- 学习k8s的网络和存储
- 给 CNCF 项目提交PR
当然作为一个工程师需要有自己的主力语言,所以加了下面
- Golang 语言的精进
- leetcode 刷100题
- 构建社区影响力
实现
刷题
-
从 2021.1 到 2021.5 坚持了4个月刷了每日一题,拿到了一件leetcode T恤
-
看完了《拉布拉多的算法小抄》。
-
看完了《代码随想录》的公众号
从以前害怕算法题,到摸清算法题的基本套路。刷题最重要的就是要给自己定一个小目标,比如我每日一题的动力就是为了那件 leetcode T恤。
虽然刷了很多题,但是真正面试字节的时候,写的代码还是很紧张。今年的目标就是把 leetcode 剑指offer 和 top 100 这两个专题的题目刷熟。
k8s Operator
- 学完了阳明老师的《K8S开发课》
云原生的基石当然就是K8S,目前企业招聘的要求都是需要K8S二次开发。Operator 开发是主要方向。
今年最有价值的一笔知识付费当然是 买了《K8s技术圈》的作者 阳明 大佬的 K8S开发课。一步步从 clientset 调用kube-apiserver,到自定义 informer,再到 自己手写一个 controller,到最后利用工具 kubebuilder 实现 operator。
当然目前对operator掌握的水平都是demo级别的,如何让企业快速落地 operator 肯定要结合业务。今年的目标当然是研究各种开源的operator 源码,例如 nginx、redis、mysql,同时参与开源operator的代码贡献。
下面是我的 K8s 开发课的笔记: K8S二次开发实践
网络和存储
- 读完了杜军大佬的《k8s网络权威指南》
- 读完Kubernetes 存储 博客
网络和存储只是刚入门
Golang 精进
- 读完华为任洪彩大佬的《Go语言专家编程》
- 整理了自己写的项目代码,总结了关于并发编程的一些最佳实践
- 学习了 毛剑大佬的 Go进阶训练营
- 熟悉了 Go-zero 框架
Go语言如何精进,应该是如何用 Go 语言写后端项目。进而如何进行微服务的治理和运维。目前 Go 写的开源项目层出不穷,通过源码学习永远是最佳的方式。
社区影响力
- 作为 GoCN 翻译志愿者,为GoCN公众号翻译了8篇文章
- 给kubeedge提交一个PR并合入
- 给milvus-go-sdk提交一个PR并合入
2021年终于提交了第一个PR并合入,2022年我定下了提交10个PR的目标,而且有一个项目能进到 top 10.
当然线下和线上的meetup, 我也没少参加。火山引擎的活动我更是常客。公众号的互动我也是相当活跃。参加这些活动的目的,当然是认识更多的大佬,看看他们是怎么学习的,怎么提高的。另外一个目的就是为了小奖品,2021年通过公众号留言拿到了8本技术书,今年过年加油看完这些书。最大的福利要属 kubeCon 那次了,直接给了我150美元的CNCF官方商店的代金券,还包邮从美国寄过来。当时在CNCF商店各种买带LOGO的手套、毛毯、卫衣、水杯、雨伞,那感觉太爽了。
总结
2021年,还做了很多云原生相关的。搭建了普罗米修斯监控集群,但是对promQL和时序数据库浅尝辄止。体验了Loki云原生日志技术栈PLG。还有Agro CD、Harbor、etcd也都是粗略体验了下。(其实就是docker run 跑一下)
国内的zadig(cd)、milvus(向量数据库)也有了解,2022的目标不仅仅是体验他们的产品,希望更多的是参与他们的开源建设中去,多提PR。
另外发现很多开源项目例如 KubeVela、zadig等都缺少Dashboard,可能是前端人员不足吧,如果学会一些简单的前端技能参与贡献,2022的PR目标应该很快就实现了。而且对于后端的接口的了解也会更深入。
最后用一幅图片结尾,在各种新的开源项目、技术、框架层出不穷的今天,我们可能都忘记去学习计算机基础知识。
所以2022年最后一个目标就是学习 MIT 6.824+《design data intensive application》来掌握分布式的基础。