采访者 | 小胖
受访者 | zhisheng
Hi,先给大家做个简单的自我介绍吧
hello,大家好,我是 zhisheng。有的童鞋可能会好奇为啥是叫这个,其实就是我名字的拼音,没啥别的典故 😂。我毕业一年半了,现在在某家大型互联网公司工作,专注于 Flink 相关的内容的开发。之前在某大公司负责监控平台的实时告警,最早是在一家新零售公司的基础架构组实习。因为工作接触 Flink、Kafka、ElasticSearch 的机会比较多,所以自己对这些比较熟悉和擅长。
你目前定居于上海,是因为工作的缘故还是其他什么原因?
近期刚换工作到上海,不过后面还是会在杭州定居的,因为杭州房价相对于上海来说比较低,是我这种“穷人”可以买的起的😂。我之前在杭州拿到过比较好的 offer,所以毕业后是在杭州工作。杭州整座城市不管是从风景来看,还是从人文来看都挺不错的。更何况有阿里、网易等大公司坐落在杭州。
既然在上海,那能否推荐几个你觉得不错的上海饭馆呀?
我对吃的东西不太挑剔,毕竟大部分时间都用在敲代码了,吃饭这种事能凑合一下就凑合吧。
不过对于我这个江西人来说,上海和杭州的菜不太辣让我有点难受。所以自己偶尔做菜的时候一定会多放辣椒,平时有点外卖的时候也是要中辣以上,当然太辣我也不行,得为自己的肠胃考虑一下。
上海的互联网气息是不是有别于北广深杭?
互联网氛围我觉得可能还是北京最好
,毕竟这么多好的公司在北京都有总部,并且北京的互联网公司也比较多,一些大型会议也都是在北京举行。
上海的话,我觉得比较好的一点是那种周末免费的技术分享还是挺多的,这个很赞。之前自己在上海实习的时候参加的比较多,通过这种线下会议不仅可以学习到知识,还可以认识到一些小伙伴,可能这些小伙伴对你终身都有帮助。上海金融、证券、银行公司比较多,整体互联网氛围还是稍微差些。
杭州因为阿里、网易等大公司、所以感觉杭州的互联网氛围也是不错。
是什么样的契机让你选择这份职业?
我大学专业是软件工程,应该算是科班,我自己高考报的专业都是软件工程,我记得当时我爸和我说,要不换几个其他的吧😄。
记得刚上大学的时候那时候安卓开发比较火,所以自己在大一暑假就开始自学 Java,然后学习一些安卓的编程知识,在电脑上装模拟器,运行自己写的手机软件,后来安卓开发差不多基于饱和之后,大二暑假又开始学习 Java 后端的东西,Java EE 真是深似海,好多东西要学,大三的时候也有在学,大四出去实时就是做的 Java 后端相关的东西,接触了一些分布式和微服务相关的内容。
毕业后在监控平台做的话,初期是 Go 写的,所以也快速上手写一些 Go 程序,后面因为监控的数据量比较大,整个监控架构做了调整,然后接触了 Flink,在整个监控平台呆的一年多时间,自己确实也成长很大,学习到部分大数据的知识。
在工作中有遇到什么令人难忘的大坑吗?
大坑其实是有,但是
印象深刻的却是自己熬夜加班写代码的时刻
。
-
项目重构一天之内在小黑屋里重构完然后上线到生产。
-
凌晨 2 点被同事的钉钉电话叫醒起来改 Bug,这个事情在专栏里面的一篇文章也写过。
能具体说说你是怎么填那个大坑的?
说下上面第二点吧,就是因为 Flink 作业上线后数据中的一个 timestamp 时间戳 Gson 反序列化成一个科学计数法的导致的,被同事钉钉电话叫醒之后立马起床拿电脑在床上开始看异常信息并结合代码分析,然后在本地测试复现,发现就是 Gson 的反序列化 bug 导致的问题,先临时使用一种解决方法解决了,不让程序一直抛异常,作业就会正常去消费,改完发版到生产上线差不多就 3 点多了。
都说程序员需要学到老,随时都得更新技术,你是怎么选择和学习新技术的?
接触一个新东西,先把搜索引擎能搜到该关键字的东西都看一遍,挑官网或者能够实战的博客就行跟着学,然后看是否可以应用,最后可能会去看部分源码。
很多读者称呼你为 Flink 中国社区第一人,当初你为什么选择 Flink?对于技术开源,你的理解是?
不敢这样称呼,我只是一名 Flink 热爱者,相比那些 Flink PMC、Commiter 差远了,另外社区还是有很多活跃的小伙伴,我也只是其中的一员而已。选择 Flink 主要是因为当时组里项目的架构做了替换才开始接触的,刚接触的时候国内和国外这块资料却是还是很少的。
因为阿里很早就开始在往 Flink 社区贡献代码,包括阿里内部也有 Blink 版本,所以从选择 Flink 开始后,自己就也在一直关注社区开源的进展,包括后面阿里往社区贡献的 Blink 很多功能,所以觉得
开源还是很重要,可以让更多的人受益
。就在 Blink 开源那会有人问 Blink 和 Flink 后期的发展,阿里说的是 Blink 永远不会成为另外一个项目,如果后续进入 Apache 一定是成为 Flink 的一部分,这也表明阿里会逐渐的开源为 Flink 社区贡献更多的代码,而不会再另起炉灶。
为了学习 Flink,你都做了哪些?
自己写一些博客,记录自己的学习经历,同时分享了出来,希望对刚接触 Flink 的童鞋来说有丢丢帮助就好,因为写的比较细,通俗易懂。并且有配图文,所以觉得入个门还是比较简单的。在工作外自己也会写一些 Flink demo 放到 GitHub 去,那个
flink-learning
项目的仓库现在都 2.8k star 了,直接在 GitHub 搜 Flink 排第三个。
从一个 Flink 小白到现在的专栏作者、大会演讲嘉宾。这个转变的过程中,你是怎样提升自己的?
因为 Flink 中会和其他的大数据组件进行关联、所以通过 Flink 也会或多或少的接触到一些其他的大数据组件,所以在这个过程中得靠自己平时自己去额外的学习,比如下班后自己去钻研或者周末看看书籍。提升这种事情,要通过自己不断的学习和积累,并不是能够一蹴而就的,比如你
规定自己每天看两个 Flink 中的源码类,并把它的源码结构分析出来,并且形成文章
。我看网上就有一个 Flink 爱好者是这么干的。其实不仅仅是学习 Flink,我觉得学习任何东西都是这样的,需要的是花时间去钻研。
目前你的第一个 Flink 专栏已经有千人订阅了,你撰写它的初衷是为了什么?
首先表示开心,不过也是在预期之内吧。因为自己觉得 Flink 确实在国内比较火,一个是其本身的优秀,另外就是阿里在这么积极的去推广,不过打铁也需自身硬,要是 Flink 本身的功能不好的话,阿里也不会花这么大代价去推广的。
刚好前段时间自己离职了,时间比较充裕,所以也就打算写一个 Flink 专栏和书籍。市面上 Flink 系统的内容并且是实战案例应用这块的内容还是非常少,所以自己才有了写这么一个专栏的想法。
我是经朋友介绍了解到
GitChat 这么一个开发者写作平台,既可以写付费的文章也可以升级成为专栏作者
。对于有写博客习惯的开发者或者想实现技术输出的开发者们,不妨试试在 GitChat 上发表文章,既可以赚取零花钱还能提升输出水平。
在我写内容的这段时间 Flink 版本发布了大更新的 1.9 版本,所以后面几乎又全部重写了专栏的内容。我之前自己定的内容特别多,每天晚上熬夜写到 2 点多才睡觉,自己都觉得比较辛苦。当然我是写完后才出来工作的,算是对自己上一份工作的总结吧。
你对 Flink 的未来有什么看法?