自我介绍
大家好,我是滴滴吴彦祖(狗头) – 石臻臻(狗头)
开个玩笑哈, 非常感谢CSDN的邀请 能够来这里跟大家来聊聊天,来交个朋友, 我呢也是属于C站的老用户了
从第一篇文章到现在应该快有十年的时间了, 对C站的感情也是非常深厚, 这一晃而过的十年,是我逝去的青春, 但是同样我也从当初懵懂无知的少年变成了能够跟产品撕逼的沧桑大叔了(狗头)
为了能够让大家快速的认识并记住我, 我简单列几个关键词
- 2021年度CSDN博客之星Top5
- 滴滴Kafka技术专家
- 开源项目LogiKM 的PMC
- Kafka Contributor
- Nacos Contributor
- 石臻臻的杂货铺 号主
- 一个热爱音乐的码农
有同样爱好的可以来交个朋友, 交流交流琴艺 和 代码 。
经常会有人问我 在这么多年的工作中,有没有一下经验分享分享, 以及我是如何开始参与开源项目的。
那么今天我们就好好来聊一聊
工作经历
我总共到目前为止是待了4家公司, 一家电商企业,一家金融企业, 2家网约车企业。
前面2家主要是后端开发, 后面到现在的话主要是做基础中间件以及做开源项目。
后端 -> 中间件
那么为什么我从后端开发, 后面转到基础中间件了呢?
C站可能学生比较多,还没有入行的同学可能不太清楚这两者的区别;
后端开发:
主要是做业务需求, 开发者大部分的时间可能是在CURD增删改查, 这个是在已有的框架上造房子, 不需要你过多的去关注一些底层的基础服务。这样可以更高效敏捷的完成业务需要, 但是这个并不是说后端开发没有技术含量, 相反后端开发需要你处理非常复杂的业务场景和各种故障。这个需要你有一定的业务理解能力。
它的优缺点
优点:
①. 对底层技术要求没那么高。
②. 如果业务发展迅速, 非常容易借着业务来实现快速晋升。
缺点:
①.干久了觉得枯燥乏味, 经常会觉得自己就是一个纯粹的CURD Boy。
②. 需求多变, 无止境的跟产品扯皮。
③. 没有不紧急的需求。 基本上产品提给你的需求都是没有不紧急的, 恨不得马上上线, 所以会经常加班
④. 发布频繁, 经常需要错峰发布(比如经常凌晨错峰发布)
当然 部分问题可以通过规范合理的项目管理可以规避掉。但是目前为止, 大部分公司都是敏捷开发吧.
中间件:
对于中间件呢, 中间件是一类软件统称,而不是特指某种软件。
它是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。
你可以简单的理解为, 它是一座房子的地基能够承接起上层建筑、一座桥梁能够连接河岸两边 。
我之所以后来转到了中间件是因为几个点
- 我个人对纯粹的技术更感兴趣。
- 不会有频繁的发布(意味着更少的线上故障)
- 更有挑战性
当然他也有他的局限性, 一般中间件基础部门很难出大的成果, 毕竟保证服务稳定是他们的职责, 稳定也就意味着不太被感知, 那么一些好的事情就比较不那么容易轮到你头上。
但是如果你强烈的被感知了, 那肯定是很严重的事故的。0.0
我是如何转中间件呢?
这个路是我自己走的, 当然前提是你的技术能力本身过硬。
做好中间件前提是你得对你所从事的那个技术框架本身就要很了解, 比如你想要在Spring框架里面做一些扩展, 那么你肯定得对整个Spring框架的加载和运行原理非常清楚,然后了解它有哪些可以被你使用扩展接口, 才能够去开发它。
当然这些, 我都有一定的了解, 因为我在业余时间 会去读一些优秀的开源项目的源码,并且写成专栏。
这里我建议大家, 在读源码的时候,进尽量的去创作, 把你得到的信息给记录下来。
因为大部分情况下都是看过就忘。 写下来不仅加深你对它的理解, 也方便你日后自己再次翻阅, 我相信 肯定比你去各种搜索引擎搜索还不一定能搜到强很多把。
所以,当你读了足够多的优秀开源项目的时候,你写一些小组件也就没有你想象的那么难了。
那我真正转中间件做基础建设是在上一家公司。
那时候我是带着乘客端业务组。公司的某些基础建设不是非常完善, 我就跟领导说要不我来写个小组件吧, 提供一下大家的开发效率。
然后领导同意了, 然后我画了2周的时间把这个玩意儿写了出来, 测试了一段时间就推广使用了。
后来 我就专心做起了基础建设这么一件事情, 拉着其他几个同学一同参与进来。
比如开发了:多版本并行开发测试解决方案, 还有网关等等一些自研系统
到目前为止, 我还是更喜欢搞基础建设, 因为没有人凌晨会打电话叫你起来改bug。
开源之路
那么我后来怎么又走上了开源之路呢?
大家都知道,我现在是在滴滴云从事开源工作, 我是我们滴滴开源项目LogiKM 的PMC .
做开源其实并不是偶然, 大部分我们现在用的中间件都是非常优秀的开源项目。
你经常做基础服务,那么你就会更多的去了解这些开源项目的底层原理, 看看源码什么的。
源码看多了 发现几个Bug就是自然而然的事情, 心情好就给他修复一下提一个Pr。心情不好不了了之。
但是大部分的技术人员我相信都想在开源项目(特别是优秀的开源想)上留下自己的一点痕迹。
那我也不例外, 平时也会提一些PR.
多参加MEETUP
然后也会非常积极的去参与一些开源项目的 MEET UP ., 比如这2张图就是我去参加SEATA的照片
这个时候参与开源, 也仅仅是一个参与者 贡献者, 并没有很深度的参与。
真正深度参与 还是在滴滴做开源!
在滴滴专职做开源
其实来滴滴云之前, 我本来是要去另外一个云的。
后来我现在的老板 看到了我的CSDN博客, 然后看了我这么写年写的内容。
就得我很适合他们团队的这个工作, 一番沟通之后, 我就来了滴滴云, 做开源。
所以, 很多人说 写博客有没有用?
有用!他有可能让你获得一份合适的工作!我就是个例子。
以前是用爱发电, 偶尔给开源项目提提PR. 现在专职做开源项目, 挺香的。
滴滴开源项目
滴滴现在在开源项目上也是听看重的, 内部也鼓励并孵化一些开源项目。
我简单介绍一下我所开发的这个项目 LogiKM
这是一款Kafka集群的运管平台, 可以让你很方便的管理你们公司的Kafka集群。并且还有很多原生Kafka没有的运维能力。技术栈是 Java SpringBoot 这一套
项目地址: https://github.com/didi/LogiKM
方便的管理公司的Kafka集群
Kafka中所有的命令行转换成可视化的界面操作
高级运维
比如Kafka数据迁移操作在原生kafka上做起来比较复杂,在我们这个开源项目上可以一键自动化的帮你完成你的操作。而且还会自动监测异常。
监控可视化
来跟我们一起参与开源项目吧
可能会有很多人觉得,自己技术能力不够,还达不到参与开源项目的水平.
其实吧大可不必,开源项目没有想象的那么神秘, 况且你提交PR人家还是review的。
也会给你一些修改意见, 这也可以侧面的提升你的编程能力。
还有一个重要的好处就是:给你的简历增加一个亮点。
XXContribuer XXCommiter XXPMC 的title至少能够让面试官另眼相看吧。
我们这个项目在7月份应该会上线一个新的版本
如果大家有兴趣的话可以跟我们一起来完善它, 多多提交PR, 我来给大家合并代码。
插播个小广告
招聘两个实习生, 参与开源项目。
版权归原作者 石臻臻的杂货铺 所有, 如有侵权,请联系我们删除。