2019 年终总结

因起源于武汉的 新型冠状病毒 (2019 novel Coronavirus,2019-nCoV),让 2020 开年之初就与众不同,全国人民纷纷戴上了口罩,这也是我记事以来第一次在大年初一没去村里长辈家拜年。是时候回顾下 19 年了,其实 18 年的总结也迟迟没能写出来,这里一并总结下。

2018

18 年与我个人而言最重要的就是认识了现在的女朋友,生活、心态上变化了不少,把重心从工作转移到生活上,周末有空都会坐动车去苏州找她聚聚,苏州大大小小的景点都转遍了。昆山的工作没有现在所谓的 996,每天下班有空都能去健身房打打乒乓球,周末也能去周边的南京、黄山,度过了着实悠闲的一段时间。

在 18 年底就有些厌烦这样“无所事事”的状态,考虑再回杭州去发展。于是乎在 19 年春节前后开始复习基础知识,并在 19 年四月入职了现在公司。

在 LeanCloud “服役”两年左右,从之前的数据开发转到了后台开发,并且过了一把 Clojure 的瘾,除了工作中重度使用外,还录制了一套 教学视频

由于工作中使用 Github 似有仓库,所以上面的 提交记录 比较多。去掉 Private contributions 后的提交记录如下:

18 年共写了 6 篇文章,GC 相关占 4 篇,这是个大坑,后面还需要继续添。 《Java 线程同步原理探析》 着重从操作系统层面讲述同步原理。

2019

Bye LeanCloud, Hello Alibaba

在 19 年 3 月底正式离开 LeanCloud,4 月 1 入职杭州蚂蚁金服。凑巧的是工作地点还是在黄龙万科中心,离有赞很近。

杭州的工作强度相比昆山不是一个量级,竞争也更激烈。阿里有“一年香三年醇五年陈”的说法,我目前还不到一年,还不敢说对这家公司有多深的认识,只能说好的坏的都有,没有完美的公司。杭州这个城市也是,之前想的是来杭州后打听打听房价,看看能否尽快“安居乐业”,没想到政府要求“外地户口须缴满近两年社保才有购房资格”,我 2 年前在有赞缴的不算,先不说买不买得起,这下连资格都没有了。

天天向上

新的工作接触了 Golang/Rust,方向是时序数据库,产品是 CeresDB,整体架构和 tidb 类型,底层的存储层用 Rust,上层的交互层用 Golang。这大半年我主要负责 Golang 这部分,把 prometheus 协议加了进来。对于监控,从使用者变为了开发者,考虑的东西自然多了,比如 push/pull 收集方式的区别;不同机器的同一指标在聚合时,如何对齐;如何展示收集的 metrics。

读书

这里列举 18/19 两年内看完的书,一些还在看的这里就先不列出来了。

博客

19 年产出也比较少,博客一共写了 4 篇。现在来看,是非常失败的,不管工作多么繁重,抽出时间来总结还是有必要的,2020 年要多去总结。

Github

提交记录 更少了,证明周末时间都出去玩了 🙂

生活

仿佛每换一个地方,我的身材都会发福一次,囧,到现在体重又回到锻炼之前的基数了!果断办了个卡开始练起来。

身边的朋友有 2 个出国工作,到了年底也开始考虑自己是否有必要出去看看,这可能也是每个在大城市奋斗的同学都会面临的问题,与其在国内 996 的环境下生活,为何不选择 Work Life Balance 的国外?!当然每个人都会有不同的羁绊,出去不一定好,还要慎重考虑。

旅行

3 月底在换工作之际,去 泰国玩了一圈 ,算是领略了一番异国风光,中秋节去千岛湖溜了一圈,其他时间就都在杭州市内溜达了。

播客

这两年有听了不少好播客,这里给大家推荐一下:

  • ggtalk ,程序员的闲聊节目,还挺喜欢主播梁杰的采访风格,出国那几期听了收获颇多; 《23. 区块链到底能干嘛?》 这一期让我了解到区块链的本质
  • 软件那些事儿 ,喜欢栋哥的八卦能力
  • 新闻酸菜馆 ,生活中已经不能没有王掌柜和叮叮,已经听了 2 年多,2020 年是不是要买会员了呢?新听众可参考知乎 如何评价《新闻酸菜馆》?
  • 俊玮谈新-新加坡 ,作者移居新加坡十多年,每一期内容都干货满满,对于了解新加坡非常有帮助
  • 藏海花 盗墓笔记五年之后,吴邪在雪山寻找张起灵的印记。主播九月声音细腻,不同于周建龙,但也是我喜欢但风格。找一个阳光明媚的中午,闭目收听盗墓或鬼吹灯,惬意的很。

总结

通过上面的总结,感觉这两年过的还是有些自我了,技术的积累也不够深,如果后面两个人生活在一起了,自己的时间必定更少,所以后面还是要“集中精力”,不要过多分散精力,首先做好本职工作,再有找一两个可以长久从事的方向、项目。

最近也一直在思考,编程到底难在哪里?对于如今的开发,各种组件都已经很齐全了,对于有界面的前端,有 Vue/React;对于后端技术,更是层出不穷,各式各样的数据库、消息队列、RPC 框架,仿佛如今的开发者需要的技能是组装,而非创造。是否能有一种系统/框架,来统一掉这些组件呢?serverless 要解决的问题正是组装(主要包括:分配 cpu/memory 资源,调度 http/rpc 流量),所以 k8s 会是软件开发的终极嘛?

春节期间宅在家中,开始刷 leetcode/hackerrank,一方面锻炼自己的编程能力,另一方面为今后可能的出国做好准备。算法也是很多同学的痛,基本原理(空间/时间互补)都了解,但是遇到一个题目就是无法想到最优解,有种高三疯狂做试卷的感觉,基本定理都知道,但是题目就是解不出来。刘未鹏的 《知其所以然(以算法学习为例)》 阐述了其原因,就编程来说,知道算法的流程是远远不够的,因为编程相比其他技能,更注重细节,一个循环的中止条件到底是 i<n 还是 i<n-1 ,其差别是非常大的,而人的记忆是不可能记住这么细微的差别的,所以必须具备推导能力。今年希望能在这方面多写些总结。

病毒还在蔓延,希望大家都能平稳度过。2020,加油。