2019 年对我来说应该是做出改变的一年,最大的改变就是换了城市,换了工作,总体来说是达到了我原本的期望,但是并没有想象中的那么理想。

在上家公司的成长

首先总结一下上半年在本地的那家公司的收获吧,年初根据领导的要求做了一些部门业务指标报警监控的功能,主要是通过实时统计业务指标是否达到业务人员设定阈值,达到阈值则通过调用腾讯云短信 api 下发短信给相关业务负责人。三四月份部门技术架构调整,部门现有的实时业务都有 http 服务改成 tcp 长连接服务,我也参与了整个项目的建设,分工负责用户服务这块,与其他同事负责的服务进行长连接通信,算是大体了解了长连接服务到底是怎么做,以及 golang 的网络编程,通信协议的设计这些知识。

为何离职

长连接项目上线后不久,由于公司政策的原因被叫停了,项目组解散。本来是要去公司的游戏部门,但是本部门的另一个组和我一起进来的同学离职了,我被留了下来接手她的工作,与此同时公司财务部门的技术同事也离职了,由于之前我做本部门的财务模块与财务的技术同事有工作上的交集,结果他的工作也交接到我这,一下所有的事情都到我身上了,开始我是在想着看看能不能接下来,但是一看那些项目的代码就后悔了,扩展性太差,做一个很小需求都要改到吐血。因为要同时处理本部门的工作,财务部门的工作,所有很多时候就是这里有个 bug 要改@你一下,那里要导个报表@你下,实在是心力交瘁,坚持了两个星期,跟领导提了离职。其实也并不是这些事情有多难,而是因为这些是事情很杂,使得你没有办法集中精力来静下来做事情。不过这个也只能算是个导火索,其实我早就有离开南昌去大城市的想法,因为和一起进来的小伙伴四五月份就走了,原本打算九月份走(天太热了找工作很辛苦。),但是因为这个原因我七月初就提了离职,交接拖到八月初才离职。

新工作

工作交接期间联系了一家深圳的公司,离职后就到深圳找工作,很幸运的是在深圳面试的第一家就拿到了 offer,刚来深圳,我想尽快稳定下来,就直接接了这家公司的 offer,顺利入职到现在的公司,总的来说还算满意吧,公司很有互联网公司氛围,同事也很 nice,缺点嘛就是很多东西都没有个标准,技术文档严重缺乏,与之前的公司相比技术积累少很多,之前的公司很多的东西都是自己写,所以积累了很多内部库,而现在这个公司大量使用开源的第三方库,这个也可以理解,毕竟创业公司,怎么快怎么来。在现在的公司主要是做大数据相关的产品,更多是与大数据同事对接数据,然后对接前端展示数据,说实话我并不喜欢做这种 tob 的项目,一是业务实现需要多端对接联调,但是现阶段公司缺少文档以及技术标准,以至于联调过程十分痛苦,二是没什么技术提升,感觉一直在吃之前的老本。其实公司是有高并发的场景的,数据量达到 PB 级别的,当初来这也是冲着这个来的,开始的时候还做一些 kafka 实时流通过 websocket 输出这样的项目,也了解了一些微服务架构方面的东西,go-micro, k8s 这些也有了一些实践,云原生相关的东西也有了解,包括像 rancher 这样的容器管理平台,服务网格 istio,这些也有和我们的运维同事探讨实践。现在的工作是在做平台开发,toB 的数据产品,说到平台就要说说中台这个话题了,中台在今年和前几年的微服务一样火的的不行,不管是大公司还是小公司都在说我们在做中台。由于我们公司在做大数据产品,于是也想着做一个数据中台,我也是参与了我们”数据中台“的建设,可是最后的结果并不如人意。中台是企业能力的复用,要做中台就必须要理清楚你有哪些企业能力,这些企业能力是松散的,还是耦合的,企业能力划分粒度到什么程度合适,公司的业务是不是真的适合做中台,如果这些东西都没理清楚就来跟风搞中台必然是失败的。我们做的数据中台由于前期的考虑不够充分很多功能无法满足业务快速变化的需求,最终是一个半死不活的状态。明年的话我还是更想做一些高并发的实时服务,或者是面向云原生的基础设施的建设。

充电成果

  • 在我离职交接的那段时间里完成 mit6.828 操作系统实验,这个实验课程除了最后那个网络协议栈实现的 lab 没做完其他的都通过了,有时间把每个 lab 都整理成博客贴出来。

  • rancher 搭建 k8s,istio,rancher 上部署 golang 微服务的实践也会整理成一个博客贴出来,

  • 看过的书:

    《实用算法的分析与程序设计》(找工作刷题看的 )

    《领域驱动设计》(理论一套套的,还是不知道如何拆分领域-_-||)

    《writing-an-interpreter-in-Go》(手把手教你如何用 Go 实现一个解释器)

    《深入解析 Go》(对 go 语言了解更加深入了)

    《Professional Assemblely Language》(AT&T 汇编,6.828 的操作系统实验推荐看的)

    《clean-code-代码整洁之道》(一度想要重构之前离职同事的代码,没想到自己也离职了-_-||)

    《经济学原理》(没事无聊瞎翻的^_^)

来年要做的事

  • 考虑到这一年 github 的 contributions 只有一点点(有些私有的 repo 看不到),所以明年要多更新 github, 目前有两个想法一个是把之前长连接的知识转化为一个 im server, 之前也有看过 im 相关的东西,另一个是迫于现在的工作场景想写一个 sqlbuilder,github 上找的好像都无法满足我的需求
  • 尽可能多的了解一些云原生相关的东西,另外大数据我之前了解不多可以尝试着了解下,毕竟和大数据同事打交道比较多
  • 根据 CS346 Database System Implementation 自己实现一个数据库
  • 学一下 Rust(可能是 2020 年最火的语言哦!)