我的职业生涯
作为一个一直学纯数学的同学,在被迫转硕后不得不思考今后的人生:换个学校继续读博,但不想再浪费时间;直接去当个高中老师,但尚未实现自身的价值;因为一直对计算机比较感兴趣,最终决定换个方向从头开始,希望在接受社会的毒打后能够证明自己的价值。本篇文章将记录职业生涯一路走来的点点滴滴,持续更新中~
自学:2019-01~2019-07
在得知转硕的结果到最终毕业其实只有一年的时间,只在大一学过的一点C语言等计算机基础知识早已遗忘,但从高中开始一直自学的我相信:
只要明确整个知识框架,具体细节对一个学数学的人来说不是问题~
于是通过网络找寻各种资料,开启了半年宅寝室的学习之旅:
半年的时间,有了一个大概的框架,一份毫无含金量的简历,以及一个胖成球的人。。

校招:2019-08~2019-10
专业不对口,没有实习经历,也不喜欢背八股文以及刷算法题,在一次次地失败后一度陷入了自我怀疑中:
提前批:不用笔试,凭着教育背景还可以直接参与面试
iHandy(后端):第一次面试,10分钟就把我请了出去
美团(算法):把面试变成了面试官教我如何面试
阿里(算法):总算撑过了完整的1小时面试,但技术细节没有说清楚
正式批:前期笔试都通过不了,积累经验后才有了一些面试机会
百度(算法):算法题完全不会,被质疑文凭了
字节(后端):两次机会都没有抓住
华为(算法):面试官帮我进入下一轮面试
到了10月底,我还没拿到任何一家公司的offer,不过还好老天最后给我开了一扇窗。这个时候网易将我调剂到了测试开发的职位上,意外地很顺利就通过面试,然后很快就拿到了意向书,悬着的心终于可以放下了。感谢网易游戏给了我这样一个机会,来到了广州开启了我的职业生涯~

网易:2020-01~2023-05
试用期:2020-01~2020-05
学数学给人的第一印象应该做算法,所以试用期交给我的任务就是实现一个动捕数据自动修复算法:

而当时正值疫情居家办公期间,组内之前也没有做过类似工作,接受到这个任务后,还是按照之前学生的思维:独自查阅相应资料熟悉背景,看论文比较不同方案,缺少了和需求方的交流。因为对深度学习的方法也没有什么经验,最终只是复现了一个矩阵补全的算法,编写了个插件把整个流程跑通了,勉强通过了试用期。
但其实这个插件也没有用起来,因为动捕软件更新后推出了自动修复数据的功能。后续也发现网易AI LAB也做了相应的工作,看来还是得专业的人来做专业的事~
探索期:2020-05~2020-12
接着被安排做数据中台的项目,但之前部门并没有做过什么数据相关的工作,对数据中台没有清晰的概念,所以做了很多探索性的工作,在一些场景里摸着石头过河:
奖励监控:对比了业界许多异常检测的方法后,对美团外卖订单量预测异常报警模型照猫画虎,调包Prophet简单跑通了个流程。但老板们对进度不太满意,没有继续研究下去了。后面才知道做算法,其实最关键的是做好特征工程,而当时的我却忽略了这一点。
支付转化:算是做大数据的开始吧,但其实最开始采用的是从ELK上拉数据到本地,然后用Python分析的方案。后面才接触到公司的大数据组件,成为了一个SQL Boy,做了点数仓建设的工作。但其实这件事最大的成功点是数据挖掘,找到了之前计费、用户体验等部门都没有注意到的数据。
性能报表:其实就是一个工具人,做了一段时间API开发,但也算是之前自己做后端工程师的想法得到了满足,数据、算法、后端都尝试了一遍。

成长期:2021-01~2022-06
之后天降猛男,来了个总监级别的大佬,新成立中台部门,招了一些专业的人来做专业的事,带来了新的协同与组织关系,我也定位到数据开发的角色。但这时的我也不满足于做一个SQL Boy,开始学习Java,用Flink进行实时开发:
奖励监控:利用Flink开发出了一个动态规则引擎,可以让业务人员自由地配置告警规则,实时生效。期间不断地查阅技术文档、开源代码、优化方案,算是第一次有了自己比较满意的技术实现。
安全中台: 不断引入新技术来解决业务问题:引入Flink SQL来解决数据倾斜的问题;引入PyFlink算法策略部署问题;引入Flink AI FLow来解决AI工程化的问题等。围绕着Flink生态做出了一些创新的工作。

这一段时间感觉每天都在学习成长,业务也在不断发展,工作做着很开心,职级也三连跳,这算是梦想的职场生活了吧~
迷茫期:2022-07~2023-05
但好景不长,随着互联网行业降本增效之风席卷而来,团队的发展方向和我个人兴趣出现了分歧,对自己的职业规划产生了迷茫,看不到想做的事情。经过长时间的思考后,还是决定再去外面看一看,我的网易生涯就暂时告一段落了:

社招:2023-02~2023-05
这个时候我依然抱着学习的心态,我觉得我的职业生涯还没有定型,还是可以做任何事。但社招主要看是否合适 ,企业已经没有耐心再花时间培养了:
网易雷火:内部机会,不太合适,需要后端经验。
字节:依然两次机会:第一次不太合适,离线数仓经验欠缺;第二次关注的Flink技术点不一致。
拼多多:实时场景可能还有些欠缺,算法题也没有回答上来。
其实我觉得仅通过几次面试并不能了解一个人的特点,这就是我开始写文章记录自己所思所想的部分原因。 虽然发现像证券、基金这些公司对我这种教育背景不错,有大厂经历的人感觉还不错,但我还是想再学点技术。于是我完全没有给自己留后路地来到了杭州,希望可以继续在大数据领域中深入~

蚂蚁:2023-06~2024-05
离线数据:2023-06~2024-01
虽然转换了行业和技术,但来到了专门做数据的部门,确实数据做得比较成熟,有很多可以学习的地方:职业划分比较细,每个方向上都有比较深的沉淀;金融业务对数据要求高,非常注重数据质量和合规;数据体量大,业务场景也足够复杂等。但正是因为成熟,历史包袱比较重,也没有擅长的实时场景,做了一段时间后,发现自己的工作集中在取数工具人和历史包袱治理上(那恶心的81颗指标树),技术上也重新回到了SQL boy,没有什么沉淀和价值感,也找不到兴趣点。

不过好在这边转岗比较方便,我发现当我听到湖仓一体的时候,我本能的就比较感兴趣,于是我又回到了实时技术中,开启了新一段旅途。
实时数据:2024-01~2024-05
由于实时涉及的组件众多以及其状态计算等独特性,和离线其实有较大差异,但其实也算是回归到老本行,在适应了下相应的技术栈后,也可以很快上手。同时也有机会利用数据湖技术来重塑实时研发范式,实现降本增效,看起来似乎是回归到理想的职业发展轨道上来了?

但对于数据研发职业发展而言,要么更深入底层,做数据平台或引擎的开发,要么更贴近上层,利用数据驱动业务发展。而我由于非科班出身,又做上层数据应用多年,所以更适合将我定义为一个问题解决者:综合利用数据等技术工具系统地解决业务问题,不要局限于实时或者离线。同时由于一直没有找到价值感(做的东西太碎了),所以我再次踏上了新的征程,寻找一个更适合自我发展机会~
字节:2024-05~2026-05
数据BP:2024-05~2024-11
虽然数据技术上没什么变化,但合作模式发生了变化,之前在蚂蚁的时候对接BI,他们一般可以给出明确的口径,但在字节这边直接对齐产品,他们只能从业务视角描述需求,刚开始完全不知道如何找数,怎么加工,数据对不对,只能全靠老人带,数据的壁垒不在技术而在业务上。同时虽然离线和实时场景都有,但实时场景很少,且由于需要实时关系且Flink SQL回撤的原因,实时一直采用的DataStream API开发,开发门槛比较高,是大团队下另外一个数据应用小组负责,我们之前就只能做一些简单的实时数据过滤同步而已。

好在慢慢熟悉业务后,需求应付起来就比较得心应手了,有心思自己去尝试一些新东西,暴力扫描、冗余编码、实时开发效率低都是我想要解决的技术问题。可能也正是转正答辩的时候说了太多技术上的事情,随即就把我调整到了数据应用的团队,做数据产品以及复杂实时开发的支持。
数据产品:2024-12~2026-05
过来之后就负责了一个从0到1的数据产品,这个项目打算用低代码平台把后端干掉,让数据研发同学写SQL模版,节点编排,代码UDF就能实现完整后端能力。虽然想法很好,但一个人同时干数据和后端,其实两个都干不了很好,后端的职责是实现业务功能,保证高并发访问,而数据的职责是做数据ETL,保证数据质量。在端到端支持数据产品过程中,发现自己的工作集中在接口开发中,与前端争论接口定义,和产品PK砍掉功能,数据上建设其实很薄,虽然自己可以owner这个方向,但整体还是不是很喜欢。

另一方面,实时开发是单独的一块,本来是想把老旧的DataStream API开发模式替换成SQL,但在历史逻辑上做重构还是太难了些,最终只是理解了底层实时计算的机制,实时开发的一致性保证还是很关键的,并没有完成实际落地(其实最近已经明确的想法来,可惜引擎支持的力度不太够,还是要怪自己故事讲得不太好)。
这一次实在不想做后端业务接口开发,直接GAP了一小段日子,买点时间整理整理、学习学习,休息休息(虽然我的时间还是有点小贵)。
阿里:2026-06-18~至今
其实牛马的生活都差不多,只是我还是有点理想化,导致OKR总是对不太齐,这一次希望已经度过工作体验期了,加油工作吧~
未完待续
机缘巧合下进入了大数据领域,并逐渐建立起了自己的知识体系,貌似已经习惯了打工人的生活。但其实我依然没有变,还是像之前学数学一样,针对一个问题,喜欢不断寻求更好地解法。然而在工作中,可能更需要立体的思考,形成一套解决方案。如何将爱好特长和工作结合起来,发挥出自己的全部潜能,这是一个需要我持续探索的问题。