题图:季刊
两个月前公司组织要发个技术季刊,征文派给了我一个指标,正好回顾下职场的打怪升级之路,与君共勉。
作者:花一
非科班野生码农,大学临近毕业之际开始自学编程。毕业后写了3年前端,18年在滴滴内部调整方向开始从事服务端开发,负责滴滴司乘实名体系建设。20年在学服4S框架组参与Arris平台、鹰眼系统从0到1的开发工作。
# 一、一路拥抱变化
小时候是要梦想成为舞蹈家的,奈何集训受伤了,所以梦想搁浅了。后来大学上的文科专业,在酒店实习,梦想成为一个牛掰的调酒师,奈何记不住众多的葡萄酒和酒庄的名字,所以梦想又破灭了。
14年在北京威斯汀实习结束返程的时候去逛王府井书店,阴差阳错买到一本启蒙书《head first html and css》,这也是打开我计算机之路大门的钥匙。
毕业前从来没有想过会成为一名程序猿,那时候写完毕业论文之后离答辩还有一个月时间,闲来无事翻那本启蒙书,慢慢的对网页开发有了兴趣。自己没电脑,就拿室友的电脑开始照着书上的代码一遍遍的抄。同学们偶尔路过我宿舍门口的时候总是调侃说:"一学旅游的搞什么计算机,解说又不需要你写程序"。那时候对我帮助最大的还有《慕课网》和《妙味课堂》,宿舍里网络不好没法看视频,就去网吧通宵把慕课网上关于前端方向的视频全下载下来,完事儿就在宿舍里边看边抄。一开始也不知道抄的是什么玩意儿,抄多了之后才慢慢的有了自己的理解。
回想起大学毕业那天拿着在网上copy的一份静态页面代码坐了12个小时的火车去广州面试的场景还历历在目。代码里的javascript我都给删了,留下了html和css,因为还没学到这儿,怕人家问到我不会。结果还是被CTO赶出来了,本打算继续去深圳面试,被CEO的电话把上了公交车的我又给捞回来了,最后凭借我朴实无华的求学态度和一穷二白的薪资要求,当天就作为公司的第8号元老级员工开始上班工作了。
当时海投的范围比较搞笑,我在地图上画了一个片区-长江中下游及以南,有幸还拿到了两个面试邀请。
印象最深的是第一天上班,老大扔给我一段jquery的ajax请求代码让我看,我看了一个小时没有看懂。最后的场景就是公司的1234号元老在白板上给我讲了半小时的get、post请求。其实那天我并没有听懂这是什么东西。
中间 CTO 还给我劝退过好几回,我反正死皮赖脸不走。后来每次开玩笑跟他说起的时候,他还说我当时挺讷......因为公司当时就我一个前端,另外还有一个实习生达仔,没有人带我,我每天就死皮赖脸的去请教他。职场大忌之一是,遇到问题自己不深度思考直接向别人寻求帮助。基本上每天都被达仔教育,他是我职场领域的第一位启蒙老师。
毕业第一年的状态用一块海绵来形容自己再贴切不过。90%的周末时间基本交代在公司了,工作日也基本是朝九晚二,白天在公司写前端,晚上在家学PHP。创业型公司,要求啥都得会一点。所以后面的节奏基本上是前端缺人就写前端,后端缺人写后端,造成的结果就是"什么都懂一点,其实也就是什么也不会"。我一直认为"全栈"是个伪命题,一个人的精力是有限的,不可能在每一个方向都十分精通。社会更需要的是"T字型"、"π字型"人才,与其什么都懂一点,不如在某一个方向成为专家。这也是我后来调整方向的初衷。
14年从北京离开的时候,立志两年之后再来北京成了我的执念。当时在深圳拿到了那个时候对我来讲还不错的offer,薪水也double了一下。不过年少总是冲动的,揣着工作一年攒下的1万块钱,怀着"在北京丢下的场子,我就得在北京找回来"的信仰义无反顾的回到了北京。当时想着就算我找不到理想的工作,一万块钱怎么也能撑半年吧。后来现实打了脸,房租2500,押一付三,一万块钱不到一个礼拜就花完了。感恩我当时的Leader马哥私下帮衬我,上班一个半月让我提前转正,还给我涨了工资。也是他教会了我职场领悟的第一个道理-"不要仅成为一个专家"。
再后来就是专职做前端,一路都有贵人相助。接着阴差阳错去了滴滴负责基础信息的平台前端方向,后来又转型做基础信息服务端方向。因为对分布式存储十分感兴趣,继而来到学服4S框架组做数据方向。一路打怪升级,一路拥抱变化。
# 二、在压力下重生
比较大的三次成长。
第一次是作为前端组负责公司级项目《五彩石》FT前端方向。第一次带项目没有经验,对处理小组在高压环境下的关怀也没有经验,不懂得风险预估,在服务端投入20+人力,前端投入却只有2个半人力的情况下,没能提前预知项目复杂度找老板要人。最后的结果是小组加班加点赶工。虽然最后项目如期按质按量的上线,但是却把小组搞伤了。 代码质量也没得到有效的保障,导致在后期需求迭代的时候有很多历史包袱。
第二次是转方向阶段。独立思考了一个多月的时间,中途还专门向几位高阶的领导寻求建议。终于还是决定"放弃前端,专职做服务端",我希望我的技术修炼之路是纯粹的,是我真正喜欢做的事情。毕竟在做自己喜欢的事情的同时还能挣钱这种事儿是可遇不可求的。其实转方向还是很生硬的,因为当时对服务端技术已经一窍不通,毕竟之前就是个半吊子。第一次接触项目还是很懵逼,怎么启动服务我就琢磨了半天时间,没几天就接手了一个核心模块的优化需求。在语法都没搞清楚的情况下,项目代码更是看不懂,流程逻辑更别说了,最重要的是优化的那块逻辑是历史包袱,只有老大一个人清楚。且一旦优化后的逻辑有问题,应该是P0级,影响范围不止国内,还包括海外。后面几个礼拜的心理活动全都是"撑过这周五,下周我就跑路不干了"。在优化上线的那个礼拜,基本上每天我都盯盘到凌晨。并不是担心出问题,因为出问题有老大扛。就是担心开除我,面子上过不去。真的很佩服也很感谢leader的什么都不管式放权和充分的信任与鼓励,经历过才会成长。这也促使我在后面的工作中更加的谨慎、有冲劲而不畏首畏尾。
第三次是作为后端负责某业务线治理。第一次在项目中有多重身份。研发+PM+PMO+BP+QA+项目负责人,花了3个多月时间分两期把整条链路整上线。横跨3个一级部门,多个二级部门,数据链路流经十多个业务模块。作为研发中的一员,涉及我负责模块的代码开发量一天就完事儿了。余下的时间基本上都在协作沟通。在这期间,发生过两次事故,一次发生在腊月23,一次发生在大年初一。还好有回滚预案及兜底方案,影响可控。最终在老板和同事的共同努力之下,赶在deadline之前上了线,补齐了公司整个治理生态中重要的一环。在这期间有数次搞不下去想跑路的冲动,项目开始阶段没有人完整的了解数据是怎么从端上入口到端API、怎么从API层到受理层、治理层、智能中台、触达层、再最终回到端上。有部分链路是历史遗留,因为项目同时涉及到tob 和 toc。新链路怎么兼容老链路且无损迁移也是其中的一大难点,不同业务模块有不同的标签场景解释,全链路拉齐也是一大历史痛点。
在我看来,安安静静敲代码真的太舒服了。负责项目的时候,拉齐、赋能、高效、理想态、中间态这些词儿一天到晚在脑子里转。
深刻才有体会。诸多感想我也记录下来了 【"BP"的几点思考 (opens new window)】,共勉。
# 三、回归初心
回想起入行五六年了。专职做过前端,也专职做过后端。从当初的小白菜一路到现在的大白菜,做过十万级高并发项目、负责过公司级立项项目、经历过全球性事故。这些给我最大的感触就是始终保持终身学习的态度。
终身学习是很难的,大部分人的终身学习都是假的,在假装自己很努力,假装自己很上进,实际上进到脑子里的东西是很少很少的。怎么说呢?做给自己看就好了,只有你自己了解你在做什么,你有没有在进步。从现在开始践行【十万小时定律】
期望回归初心,而立之期前专攻技术,踏踏实实做我喜欢的东西,敲我自己看了都觉得"卧槽,牛笔"的代码。