2020 年度总结

 

01 工作

过完 2020 年,自己在职场上也工作两年半了。这一年里,简单的说,有一半时间在写 Java 业务,另一半时间在写 SQL 报表。说实话对比这两种不同的工作,个人还是喜欢写代码多点。

站在这个时间点回顾自己的工作,有点意外,刚毕业时,我是不会想到除了业务开发,自己还会涉足数仓开发,接触机器学习,但变化永恒,面对变化,积极适应才更能生存。

这次工作上的总结,我会从比较大的方面来回顾自己这两年半的工作,所培养起的编程视野,理清自己目前的能力与不足。

在我现在的理解中,互联网服务所能提供的能力,其底层技术的划分是这样的:

技术全局概念

而我目前接触到且较为熟悉的服务,大致分为两类:面向普通用户的业务性服务,以及面向管理层的数据分析服务。

这些服务与使用者的整体交互链路,都是从网络开始,到提供服务的统一入口:网关,再向下到负载均衡、前端、后端、中间件、数据存储层。而身为后端研发,我所负责的,正是前端服务以下的部分:后端、中间件使用及数据存储。

当然了,这些是服务的组成,上图里面没有涉及到的,还有诸如日志监控,硬件监控等服务治理相关的事情。

说完上面宏观的概念。深入到具体,我所在的后端部分,更多是关注如何通过设计表结构,通过编码使用不同的中间件,调用不同服务,来实现高性能,可维护的业务功能。而一般中间件运维,数据库运维就不需过多关注,因为很多云提供商都提供了这类服务,不需要自己搭建及运维。

就像我现在所在的公司,基本上依赖的服务,如果有云服务商能提供,例如消息队列等中间件,数据库,日志服务等,在足够稳定的前提下就直接使用,减少了运维成本。因为综合来说,使用云服务往往是性价比更高的选择。

不过,这不代表你可以不需要理解与认真对待。整体来讲,我目前对于后端研发需要关注的几大地方整理如下:

技术分类

其中,截至现在,我还没有接触过的是负载均衡与容器相关知识,其他地方都有或多或少的实际接触。另外,在开篇就有提到,经历过了业务开发与数仓开发,我觉得在写代码(简单说是右边的服务治理,业务开发)上是更有意思的,这也将是我接下来有意识学习的重点。

梳理至此,如果我要继续在写代码上走得更远,自觉我目前更多的是缺乏经验(也就是代码量),还有经验的总结输出。正如我今年,写代码的时间只占用了一半,另一半时间在写 SQL 报表,就少了编程的时间。所以接下来的任务,是有意识的提高自己的代码量,工作上如果没有提高代码量,可以利用空余时间写自己的 side project,或者在 LeetCode 刷题来保持。第二是保持总结的习惯,将总结梳理成博客,做到温故知新。

02 创业公司

在一家 K12 在线教育创业公司工作了一年半,实话说让我视野开阔了很多,同样也让我反思了很多。这一部分,就说说目前我对于创业公司的看法。

第一个特点是。创业公司都是从小团队发展起来,就像我当时进去公司,整个产研团队三五十人,面对面沟通效率很高,有时候想到什么点子,有人当天就快速出一版 demo 试跑,验证效果。而且因为人少,就要求你会的要宽一点,像我在的数据组,照理说职责是底层数仓的建设,但是人员不足为了补位,也要做业务开发;除此之外,基本的运维当然也得自己来做。另外是人少,但事情不少,就难免要加快速度做事,才能赶得上进度啦。

这就牵涉出第二个特点:人少事多,难免要加班了。根据我这一年多的经历来看,加班也快成了理所当然的事情。不过坦言,正是经历了这一年多的加班生活,让我重新审视了对待加班的态度。简单来说,如果可以不加班,我是不愿意加的。但事实是,需求的 deadline 总是迫在眉睫,工作任务又剩下很多,不由得不加班,而除了需求 deadline,还有很多时候是为了及时响应反馈的问题,无论是工作日还是周末,无形中变得处于「时刻待命」的状态。

当然我也切身理解到这是创业的困境,如果响应得不够快,很可能结果是生存不下去。所以我也接受了这情况,时刻提醒自己,像海绵一样多吸收,内化经历为经验。但有时候的加班,却让人不太舒服,因为可以显而易见的是,这些加班没有多大意义,可能是管理上的混乱,或者条件式的加班造成的,这种情况下我更愿意尽早下班,自己支配时间。

第三,是商业模式。在创业公司里,如果你不认同或者不了解公司的商业模式,其实会做的很憋屈。因为你不知道你做事情的意义是什么,你就不可能很深入的理解,做这些事情的推演逻辑是什么,重点在哪里,倒退到开发的时候,你理解需求,设计分析,也只会是慢别人一步。相反,了解到基本的商业模式,你就知道整个流程的运作,也明白我现在做的这个功能,是在整个业务链路的什么阶段,什么地方,重点是为了做什么,上游依赖的是什么业务,做不好会导致下游业务出什么后果。这样一对比,是不是能理解到商业模式的重要性。

03 生活

这一年的生活相对枯燥,前半年在疫情的影响下,基本不能外出,下半年疫情相对好一点之后,出门游玩的次数也没有增加多少。回顾起来,除了与朋友几次聚餐,还有打羽毛球外,社交性的活动就基本没有了。另外工作日加班也多,回到家基本到睡觉的时间,也培养不起额外的生活爱好。但无论如何,看来我对「经营生活」做得还不够。

可也不是没有收获,譬如养成了听播客的习惯。我觉得播客的信息量是介于碎片化阅读,与阅读一篇完整长文之间,如果你无所谓,当个背景音听听无妨,但是一旦你留心声音传播的信息,知识,与主播嘉宾的情绪,又可以在一定程度开拓你的视野,不时获取以前自己没有意识到的念头。而且,播客的好处是,他并不影响你的行动,不必像看电影,或者看书那样固定坐着,你可以是边吃早餐边听,或者是边洗碗边听,都取决于你的心情。

从我几个月的播客经历中,要推荐两个播客的话,就数「疯投圈」与「三五环」。

播客

我很喜欢三五环采访猫助(多抓鱼的创始人)那期。从聊天的情绪中感受到猫助那爱笑与乐观的性格,而且有一段印象深刻的话,猫助说的大概意思是,他们开创业公司,要找认可他们理念,愿意为之做累活苦活的人,就算你能力范围超出这些累活脏活,如有需要,你也应该去做而不是看不起这些工作。

我能理解这是踏实的思想,但正是这普通的话,我们大多数人好像都忘了,我便如此,差点就迷失在远大的目标上,而不曾记得,走向目标的路是需要一步一步走出来的。

而疯投圈讲日本消费升级的一期中,也让我获益良多。我们常说以史为鉴,意思是从我们旧有的经验中去避免现在犯错。但有时候好像忘记了另外一个时间的维度,就是发展的不平衡,有些国家经历过的事情,我们可能还还没发展到那个地步。正如这期里说到,日本八十年代的经济发展、消费升级于我们有很大的启发,我们很可能也会同样经历一次。所以有时候,除了我们自己的历史,我们也要关注别人的历史来获取启发。