0. 引子

其实早在12月初就已经有了动笔23年年终总结的念头了,但是总感觉23年剩下的最后的日子里还会有新的盼望与涟漪,不想就此对整年盖棺定论,又或者是懒和拖延,就到了24年1月1日才开始着手写这份年终总结了。如果用一个词来概括过去的23年,我想是——“杂乱”:23年最开始的那几天,抱着“阳”后初愈的身体,放弃了考研,来到了现在所在的公司进行实习,负责一项全新业务0-1的探索和验证;中途又经历了转正、公司大量裁员、部门架构调整、业务变动,切身感受到了所谓的“寒气”;开启了个人在杭州的全新生活,告别了一些人,也遇到了新的人……2023年,便是我试图从“杂乱”中理出头绪,用软件工程的话来讲,便是管理“生活”的复杂度的一年。

接下来,我想从下面的几个角度

  • :在2023年一年里,我在工作和生活中做了哪些事情;
  • :2023年令我印象深刻的人,以及我和他们的故事;
  • 情感:2023年我如何将自我的希冀与盼望投向另一个个体,以及得出的结论;
  • 反思与目标:对2023年全年所经历的人事进行回顾和反思,并且确定24年的目标与期望;

来概括一下23年做了哪些事,以及有怎样的收获和感想。


1. 事

1.1 工作

3月份之前,主要是熟悉web gis那一套技术栈,包括前端三件套基础加上cesium.js,mapbox.js这一类web gis开发中常用的包。为了解决前端加载倾斜摄影慢的问题,研究了一下如何使用nginx作为客户端缓存,以及对应的请求策略。因为之前完全没有web开发的背景知识,所以经此一役算是算是快速入门web开发了。

3月份-7月份则开始研究数字孪生相关的领域知识并且产出用于内部迭代的原型。“数字孪生”于我而言,给我的感觉是“仿真模拟”的新瓶装旧酒,当然彼时同行时新这玩意儿。于是开始学习和使用Unreal引擎这套技术栈,蓝图和C++那一部分算是入了一点门,因为UE的自带体系,学习这一部分的时候倒是有种学方言的感觉(雾。顺带学了一点时髦的games101,当然学完三维变换,做完第二个assignment,到反走样那一章就没继续下去了。

本来作为全年任务的数字孪生,7月结束后就算是到达了一个里程碑了,8月份部门组织架构调整,我从中台调到了项目组。8月用React+Taro写了一个简易的地图小程序,虽然路径规划功能还没写完就被另有安排了,但这个过程中倒是把React简单入了个门,俗话说会JavaScript以及useStateuseEffect就能干活(大雾。期间对比了一下Vue和React,都是简单使用后的体会,个人而言虽然前者自动挡省事,但还是手动挡给到的及时反馈和满足感更加强烈些。

9月打杂修bug,以及做原型。10月临时接手和支撑一个历史悠久的项目,个人职责是主要作为后端进行CURD。期间也参加了绝大多数的需求评审,给我的感觉是产品的想法永远都是尽善尽美最好十全十美的(笑),以及学习了会上扯皮和简化需求等为自己争取时间和空间的必要性和技巧。在作为整个项目支撑的后端之间,感觉到难的部分在于表设计(因为业务流程相对不难理解,并发和用户量也不大),需要充分理解业务需求和流程,以及有一定的项目经验,设计出的表才会比较符合实际需求以及健壮;同时开发流程和规范也十分重要,整个项目初期有原型、设计方案、任务排期和追踪表、版本管理说明等一系列稳定,但在经历了几轮人员和技术栈更替后就几尽丢光了。期间还差点出岔子,项目在汇报演示的时候我和前端同学还在改代码,但是汇报演示时用的是本地开发环境的数据,差点导致已有的功能都无法交付,索性有备份,直接回滚到最近一次的备份,万事大吉虚惊一场。。

11月接到了一个复杂项目,涵盖了线上商城-仓储-加工-物流-财务-本地便民服务一系列应用模块,当然我在这其中主要的职责是业务逻辑梳理、文档编写、代码原型验证。算是简单跟了一遍此类类似系统的业务逻辑,下游B/C端用户执行交易并生成订单,订单流转到仓储系统,然后拣货-出货,接着流转到物流系统,进行车辆与人员的调度,最后收货方收到货物,完成订单,整个过程中的单据和流水保存在财务系统。仓储可以异步进行原材料的采购,也可以异步接受加工模块产出的次级产成品的出入库调度。整个应用基于中台微服务的基建,用到了包括单点登录与鉴权、网关、Kafka消息中心等技术,当然我并没有进行深度参与,也算是遗憾。

12月年底,项目交付的任务逐渐进入尾声,工作的中心又逐渐转向内部GIS平台和技术的优化,主要是功能的扩展这一方面。

1.2 毕设

受迟先生与一众db佬的影响,也是CS相关的专业课只深入学习了伯克利的CS61B数据结构的影响,毕业设计打算用Java做一个简单的kv数据库,支持CURD、区间索引和持久化。表使用了手搓的红黑树,参考了之前学习红黑树时自己写的笔记(当然笔记也是参考的算法导论和算法4);索引也是手搓的B+树,参考的是奶牛书。这一部分其实是暑假论文里就做得差不多的内容,毕设主要把持久化做了一下,用了最简单的Java Serialization的writeObjectreadObject那一套,以及一个简单的用来parse命令行用户输入指令的parser。整个业务流程是数据进来先写缓冲区,待缓冲区满或命令行程序退出后将数据落盘,支持命令行的CURD与查看表视图的命令。

因为自己造轮子,所以基本上不怎么需要降重,同时可能做的领域比较独特(相对其他同学做的web管理系统,数据分析和可视化,AI相关),所以答辩完后评了优秀,当然这个数据库本身我认为啥也不是(笑)。当然,作为一个玩具玩玩,还是非常考验编码和设计水平的,做完以后也很有成就感。

1.3 生活

实习公司找到后,就在附近自己租了一个单间,起先觉得能睡觉就好,所以就找了一间7平也不到的房间,桌子都没有,用的是折叠床上桌凑合的。但也正是那段时间,自认为是适应最快的时期。转正后又过了一段时间,大概8月这样子,换了一间稍大的单间,有桌子和飘窗,顿时感觉生活明媚了很多(侧面证明了住处对人身心的影响 雾)。然后就是定期打扫卫生,整理房间,大致如此。

前半年周末基本都是留给自己的,下半年开始周末总会有多多少少的邀约,当然我也不太擅长拒绝人,事后觉得自己总是在满足别人的行程,却疏于了自我建设。


2. 人

2.1 同事

因为裁员,所以23年一整年的基调基本都是在送别。和我同期的实习生只有我留了下来,部门唯一的一位女同事,人也很好,称呼她为yf姐吧——告诉我她在请婚假的当天被hr约谈辞退,让我意识到了确实不该对公司抱有太多期待。令我印象最深刻的是10月过来的一位工大的同学,工位在我旁边。我自认为自己没做什么,相比之下。但她临走时送了我一份离别礼,打开是一支香薰和几包泥土和种子,贺卡上她叫我小师傅,说很高兴认识我,因为我让她的实习生活快乐翻倍。我很感动,我会觉得被需要和记得,同时被大方地告知和传递这份需要和传递时很满足。

2.2 F哥

6月份的时候,和母亲公司的CEO一起聚了一餐,期间她介绍我认识了其中一位聚美优品的联合创始人,就称呼他为F哥吧。F哥,以及和他背景经历类似的人,都给我一种素养见识过硬,思维敏捷,同时兴趣和爱好也十分广泛,“会玩”的感觉。因为本身背景的差异,我并没有向他请教太多技术上和细节的问题,更多的是“方向”和“价值”一类的话题。通过彼此的交流,我感受到顶尖的人能够全神贯注地听你说的每一句话每一个词,并且真的试图100%地理解,例子就是每次这类人的反问都会让你感到棘手,你必须对你所谈及的话题中的内容的每个细节都了如指掌,才能cover和handle这类反问,他们在视图填充逻辑链上那一处你视图模糊或无意带过的关键帧。而“会玩”,更多地是给我一种这样的人对某一类事物有自己的品味、标准以及支撑这一切的动机和信念。最后,我还记得他的结论——尽早找到自己正反馈的来源。

2.3 室友W

8月份换了新的单间后认识了新的室友,就称呼她为W同学吧。她和我一样也是23届毕业生,那之后我和她会分享吃喝、生病了我会把自己开过的药拿出来询问是否能用得上,etc。当然她也会分享自己的吃的喝的,当然,每次都是精准地在我提供了一些什么东西的时候。我在想是不是我的这种分享会给人一种无形的压力呢,如果W同学的信条是有来必有往的话。

某个休息日,碰巧我母亲给我寄了她去潮汕游玩后带回来的当地特色牛肉丸和牛筋丸,又叠加W同学生病。于是我做芹菜白萝卜丸子汤的时候多做了一点,分了W同学一些;后面我甲流的时候没力气下楼,她说做了玉米排骨汤面,让我也分一点。后来,她说年前可能就回南京了,下家找好了,年后入职。


3. 情感

12月的最后一天在深圳见了大学同学兼好友,上一次单独见面是21年了,就称呼她为一同学吧。前一天晚上吃饭,她和我分享自己的各位搭子,后来我想我是什么搭子呢,不过答案如果知道了可能反而会没意思吧,我始终觉得人和人之间的关系,如果彼此能产生联系,至少我应该抱着“亲历”和“共进”的态度去面对和相处。我想人面对陌生环境总是要有一个融入的过程的,就像我满怀希望地来到一个地方,却发现位子都已坐满了人,那我要么悻悻地回去,要么焦急地询问和踌躇地盼望是否还会有人离开,是否还会有新的座位。人在一个环境中,其实也是一个“找位置”的过程。一同学和我说了很多在陌生的城市见到故人、在新的学校求学的感受,彼时我还没太多感受,或许是我没有一个像现在一样的时间去沉淀自己思绪的机会。

后来,她看到深圳当代艺术与城市规划馆里的那句“来了就是深圳人”很兴奋。晚饭的时候,一同学和我分享她的室友来深圳的那一天,我便即兴唱了Eason的《好久不见》,她沉默、然后流眼泪(后来一同学补充是自己说到动情处流眼泪的),我不知道该做啥,大概是凭借着习惯吧,我没说啥,只是起身拿纸,顺便留意一同学桌上用完的纸巾,多了的话要扔掉。

希望她也能找到自己的归属,心之所向,素履以往。

情感这种东西,我越是现在越觉得“会表达”的重要性,如果传递不到,那便只能是自我感动,所以我现在很多时候都不试图故意压抑自己了,开心、中意、留恋、以及自以为是的捧哏和搞怪,我都会直接表达和展示出来,当然可能生气和不满我还是会有所选择地保留。

今天我和我妈说,人还是要有个性和自我一点,不要围着另一个人转。


4. 反思与目标

4.1 工作的目的和态度

最开始,我对于工作的态度是二十分认真,因为我想借由工作上的成果证明自己,那些我写的代码,出自我手的工程,就像是我的孩子,是我一手带大的。

再后来,经历了几次argue之后,我发现工作的出发点是“问题导向”的,而其核心要点在于“目标导向”。这一整套链路不短,个人所处的位置可能和个人的愿景并不匹配。有些人定义什么算“问题”,有些人制定问题的“解”,有些人调度资源并执行“解”,而这一整个过程本身也是递归的。或许我想着我所定义的“问题”,我所制定的“解”,但到我手上的只是作为“执行”的那部分工作,并且为了解决不由你定义的“问题”和“解”,还需要你做出妥协。这一过程是痛苦的,尤其是当你投入五十分热情,三十分认真,二十分执行的时候,结果不一定有十分的评价。某种程度上这和“感情”模块中提到的一样:

“如果传递不到,那便只能是自我感动”

正好公司裁员的一些民间消息传过来后,我就觉得,确实人不该对自己能够依靠但又没经过太多检验的东西保有太高的期望,大家相互索取和付出,谁也不亏欠谁是最好的,自我感动就是一种内耗。

由此,我得到的第一个教训是,工作时自己做的事情和预期是一方面,是否能够搞清楚工作背后的逻辑以及match leader的期望,以及能够如实且贴切地汇报出来,又是另一方面。关注目标,拉通对其,拿到结果,保证产出,在工作本身没有太多的附加价值时,保证这些就OK了。

4.2 个人的精力规划

最近在看《精力管理》,对里面的一个观点颇为认同,大意为过去的基于时间进行个人事项管理的观点认为生活就像一场长跑,但基于精力进行个人事项管理的观点认为,生活其实更应该像一场场的短跑冲刺——区别在于,前者时间跨度长,关注的愿景远,会引导人性中“遇到复杂就拖延”这一弱点;后者通过间歇性地短跑冲刺和体能恢复,能够促成更高的执行率以及更加及时的回馈。

23年一年熬了很多夜,通宵应该也通了几次,我自我评估,自己也是一旦精力处于专注和充沛的区间,就会想着达成某件事,不管实际上外界处于哪个时间端,深夜还是午后。但往往这么做,后面几天就会产生补偿式地注意力涣散和对娱乐的需求,换言之——短跑了,冲刺了,但没好好休息。所以24年的一个目标就是改善自己的精力管理结构,允许短跑冲刺,但要及时补充休息。这一点具体执行的计划和规则后续再明确一下。

以及,锻炼和健身对精力的恢复确实有用,以往会觉得自己上了一天班很累了,应该回去休息;但是往往这个时候去健身房,练完一轮下来以后,感觉诶,仿佛自己就得到了休息。之前不知道哪里看到的观点,出处不可考,只凭记忆,说,当人的大脑向人体发出倦怠、效率下降、注意力不集中的指令时要重视,这个时候大脑的意思是,停止你“手头上”的事——意味着你可以换一件不同的事情做做,此时大脑是可以得到一定程度的休息和放松的。所以健身和锻炼的习惯需要继续保持下去。

4.3 职业规划

根据之前走的知乎的咨询,职业以及技术栈上,“大而全”一定需要让位于“专精”的发展。因此24年的目标之一就是让自己专精地去深入一个领域,定的目标是后端,包括数据库、网络、OS、以及各类中间件和框架的原理了解。在此基础上去谋求认可度与成长空间更大的职位以及更高的薪水。

职业规划和技术成长一定不能闭门造车,同行的conference可以多去参加,发挥互联网的力量多找人咨询,之前知乎咨询认识的大V以及交流群的资源用起来,前期认知以及方法论要正确树立。

这里最重要的是,让事情开始做起来,为此可能需要牺牲一些社交的时间,但这是值得的。当纠结的时候,一定回想自己之前说的:

人还是要有个性和自我一点,不要围着另一个人转。

建立自己的价值,追求自己的生活,每个人都是自己的第一负责人,相信真的朋友可以理解你。

最后,如果有前往文明国家的愿景,请在职业规划的计划完成并且已经在执行的过程中时再考虑,国内个人的成长空间还可以再榨一榨,追求自我价值的建立和传递永远是第一位的。