0%

亲身走过的才是自己的路

昨天是我结束在百度实习的日子,这是我第一次真正意义上在互联网公司实习,对我来说是一段全新的体验,回想起这三个多月,感慨良多,不吐不快。

技术成长

我是在公共技术团队下的数据分析小团队搬砖,实习期间主要负责内部一个分析平台的设计、开发、测试和运维,平台的功能类似于字节的火山引擎,平常的大部分工作都是CURD,当然也经常化身为SQL Boy。从技术深度上来讲,这些工作的难度甚至远远不如我做过的一些公开课Lab,也并没有十分复杂的算法。我个人肉眼可见的一些成长主要包括:

  • 对于大厂开发流程有了深入的了解,包括需求设计、排期、前后端联调、部署上线等,由于公司正在降本增效,因此我得以接触到全流程的每个步骤,甚至作为主力开发成为了平台代码最大的贡献者。在这些过程中,对于一些大数据的开源/自研工具有了初步的使用经验,比如Spark,ClickHouse,Pingo,AFS等。
  • 对于国内的互联网公司而言,技术永远是为业务赋能的,顺便,学到了对齐、拉通、赋能、抓手这些互联网黑话。分析平台看似简单,其实底层的整条数据链路是非常复杂的,需要各种端的协作以及对业务的深层理解,在公司内部的推进还是需要高T去协调资源的。对于类似于数据研发/数据分析/基础平台研发这种支持性岗位,在晋升时和业务部门一起PK是十分吃亏的,但是相对来讲比较清闲,算是各有利弊吧。
  • 根据我的观察,百度还算是一家技术导向的公司,内部基建也比较完善,牛人也很多,没落主要是其他因素导致的。
  • 需求排期非常紧,完全没时间把控代码质量,除非你愿意牺牲休息时间重构代码,可是又有什么收益呢,所以只能屎山上雕花。很难静下心做一些底层基础的事情,比如代码质量等,最重要的是迅速地跑起来。
  • OKR制度确实可以提效,可以借鉴来制定自己的目标。
  • 技术选型以及参数格式的设计在初期非常重要,会极大程度影响后续开发迭代。
  • 及时commit代码,将功能需求拆分成很小的story,例如controller打好桩提交一次,service实现一个功能提交一次,这样容易定位bug,也便于别人review代码。这一点我做的不好,总是一次提交成百上千行代码,幸好mentor没有打死我。。
  • 不要随便删除别人的代码:有一次没仔细看删了一个mentor写的重载函数,结果CR时被骂的狗血淋头,因为参数的个数虽然一样,但顺序和意义不一样。。

人情练达

这几个月能明显感觉到自己在职场上的沟通交流亟待加强,主要有以下几点:

  • 印象非常深刻的一件事:有一个用户包分享的需求,我在实现之前没有和mentor沟通技术方案,给表加了一个字段,通过位运算判断分享到的APP,完成后进行CR时mentor告诉我有更好的方案,可以用中间表,因此很多代码都需要重写。。这个惨痛的故事告诉我们:对于一些稍大的功能优化,实现前一定要沟通好技术方案,避免返工。
  • 职场第一课:除了技术方案,其他事情也要及时沟通和汇报,不要拖太久,避免出事和背锅。
  • 正确理解领导的意思:由于平台使用人数增加,小组长让我部署一个线上环境,告诉我要确保jar包等配置、测试MySQL的连接、判断Pingo任务是否提交成功、设置数据库和离线任务的白名单、搞成一键部署的脚本...当时就给我整懵逼了,我心想我靠这咋弄。但是后来我揣摩了下组长的目的:说了这么多很专业的词汇,其实最终就是希望线上和测试环境分离,其实就是把原来的数据库啥的copy一份,改下maven的配置,清理下垃圾数据就ok了,最终互不影响就行,事情瞬间简单了。
  • 领导的记忆力都是很好的,可能几个月前给你的一个小任务,几个月后的周会上他还能清楚地找你要结果,不要抱有侥幸的偷懒心理。
  • 不得不承认一个残酷的事实,我们和大部分人都只是利益交换关系而已,不过学生之间利益牵扯少一些而已。职场上以自己利益为主要操作方向,更有侵略性一些,不要掺杂感情因素。mentor教育我:职场没有感情,关系再好也只是同事间的利益而已,公司裁你的时候眼睛都不会眨一下。
  • 虽然如此,但还是要搞好同事关系,晋升时候指不定谁就是答辩委员会的,包括同一批入职的。
  • 百度有些老鸟真的很烦人,素质很低。

我的两位mentor教会了我挺多东西,尤其是晓燕姐,在我刚入职时候不知道从何下手时鼓励我大不了推倒重来,告诉我数据做到极致就是让人感受不到数据组的存在,教我思考不可替代性和自己的价值,公司为啥用你而不用更廉价的人。涛哥开始给我的印象很不好,但是后来接触多了发现他的确是一个非常规范的职场人,印象颇深的是8月10号午饭后遛弯,他问我团队为什么要做这个平台,我说了提高影响力等等,他告诉我这些都对,但显然说服力不够,说服别人需要定量的数据,如平台的需求覆盖率分析,这是建立在高层次的认知基础上的,因此年轻时还是卷一点,技术是学不完的,但是可以更快到达更高的认知层次,看问题更加全面,以后会轻松一些。

感性碎片

这篇文章最开始的标题是『大厂再无光环』,后来随着实习的深入,我发现这个题目并大不合适。不去亲身体验根本不知道自己是不是真的喜欢和适合。刚入职的体验确实非常不好:坐在工位,看着满屏的代码,砸着有些酸疼的腰椎。从早到晚都在嗡嗡嗡,打语音对需求,午休还有人叽叽喳喳,脑袋一整天都是僵硬的,感受到的全是痛苦。有的人就是可以在这种环境中如鱼得水,兴奋地找Bug。而我感觉像是彻彻底底地活在梦里,自己完全不属于自己,也完全没有解决技术难题的喜悦感,每天都在忙碌着开会肝需求。一天中最开心的时刻就是下班回出租屋的路上,一个人带着耳机听着歌。

这种感觉是极其压抑的,这辈子不想再碰这些了,每天很痛苦,盯着屏幕一整天,感觉不到任何乐趣。难是一方面,还有就是一天看代码真的受不了,需求叠着需求,没有松口气的时候,整天写代码我就疯了。我暗暗发誓并且120%地确定:这绝对不是我想要的生活,绝望了,身体或心理上最难受最绝望的时候甚至有些生不如死的感jio。其实CS(特指码农这份工作)更像物理而非数学,更偏向实用科学而非理论科学,我从小就不擅长动手,根本不是技术控。

现在仍然清晰地记得:6月14号晚上下班后,走在路上我几乎濒临崩溃,在💴和痛苦之间苦苦挣扎,不知道何去何从。彷佛前几年做的一切,都是虚空甚至起了反作用。坐在回龙观新村的长椅上,抬头仰望夜空,却满眼都是乌云。我当时想:房子和付出的成本都不是最关键的问题,只要让我立即辞职止损就好!

6月17号是一个周五,天气好闷热,完全一副暴雨将至的样子,当时的情况就和我的心情一样压抑。我交完代码后,于7.30冲出公司,快步向回走,半路碰到共享单车,听着《淤青》,终于在下雨前赶回出租屋。我发誓这个周末一定要搞清楚未来的路。当时和npy在冷战,真的特别想哭,如果真的下雨了,我又该找谁借把伞呢?好吧,后来知道公司可以借伞。

度过了最初期的两周,逐渐适应了社畜的生活,最开心的就是周五周六,周天最不开心,因为第二天就又要上班了。我住在19楼,18楼有一个大爷,每天早晨上班他都会在单元楼门口,每天晚上下班他也在。组里和我关系最好的不是经理,也不是mentor,而是组里另外一个小哥,他帮我debug带我看源码,可惜我入职不到2周他就走了,休假前最后一天他才告诉我自己是被裁员的,他说一开始没告诉我是被裁员,因为我刚去,不想打击我。小哥说话不多,但是比组里留下的两个人热心的多,也许这种机制就是让这些无情的工作机器留下吧。他走的那天下午(0623),我真的非常失落,走在路上的一瞬间特别想哭,眼泪一下就用到了眼眶,那种难过的感觉,我在想,如果走的是我,我是否有他那么乐观,有重新开始的勇气。

后面就彻底适应了这种生活,即使很多事情(科研,实习,找工作,人际)交织在一起,我的心理压力也没有刚去的时候那么大。

lastday时,再也看不到西二旗熙熙攘攘的自行车流,看着离职交接流程一项项审批(36/42),入职时候工位放的半杯水在离职时也正好蒸发完,离职这天上厕所也不用盯着如流慌慌张张。离开北京的前一晚,我心里五味杂陈,有不舍、有茫然、有畏惧、有期待。人如果对未来几天的将要发生的事情有一些期待,那么当下的生活也会美妙很多。

再见了,后厂村不息的早高峰!再见了,回龙观舒适的晚风!

码农大本营回龙观新村