大家好,我是对白。
今天给大家分享一位腾讯程序媛之前在字节实习的经历,她做的是推荐算法方向,字节已经是她实习的第五家公司了,在字节的工作环境和体验究竟如何,让我们一起来看一看,以下为原文。
我所在的部门是data-推荐,负责西瓜视频的所有算法,包括推荐、内容理解等,和今日头条、番茄小说是一个大部门,周会在一起开。部门内有近半清北,还有几位姚班同学和多位ACM金牌,近几个月来了不少大三研二的实习生。
一. 工作环境
字节的特点主要体现在:设备齐全、福利好、大小周。
1、设备齐全
字节入职的实习生,即使是实习生也会配置新款macbook pro和4k的显示屏,除此之外像鼠标、键盘、电脑架还有书本等文具都可以随时领取,保证你的工作效率。
并不是所有公司都是如此,这一点尤其吐槽下阿里,之前在阿里实习只给配windows电脑,mac通常要等好久甚至申请不到,非常搞进度。
2、福利好
(1)在字节三餐都是免费的,食堂有自助餐、清真、健身餐可以多选。
(2)零食咖啡等不限量,每天有下午茶。
(3)在京实习有1500的房补,晚上加班打车可以报销,实习工资业内top。
(4)健身房、睡眠室、台球、乒乓球等娱乐设施齐全
(5)经常会发一些礼品
我感觉和工作内容相比福利不是选择offer的重要因素,但是确实可以让员工感受到公司的关怀,同时在北京这种消费高的地方,免费三餐和房补能帮我省很多事和钱。
3、大小周
字节一直被诟病的就是强度大、加班多。从我自己的感受来说,字节本身强度确实大不少,一方面有大小周,另一方面没时间摸鱼(主要太菜了,摸鱼了就干不完了),偶尔还要值班oncall。
在字节可能因为年轻人比较多,业务飞速发展会让自己主动去学习,所以一般新人会下班后主动留下来再看看文档、代码,不会回的太早。所以我觉得字节会比较适合想成长、自驱力强的同学,如果更看重生活和娱乐可能某些轻松的厂更好。
二. 日常工作
都说字节是国内推荐算法的领头羊,本章会从我的角度谈谈在字节作为一个推荐算法工程师,大致日常工作状态节奏是怎样的。
1、实验分析
**状态:**理论上线上所有的变更都需要做ab实验,在取得比较solid的效果和结论之后才能上线,所以我一般每天去公司第一件事是看所有ab的指标,并花一定时间去分析。
字节要求每个上线的ab实验都要在全组公开做launch review,除了要求核心指标有收益外,还要关注很多推荐指标,最终要详尽分析收益的来源和隐藏的价值。
**特点:**我个人感觉字节对于实验扣的最细,指标、看板也是最全的。我和很多其他厂同学交流感觉他们上一个算法只要ab有收益就可以,但在字节无论有没有收益都要debug清楚原因,对于算法理解和业务复用都有好处。
2、策略开发
**状态:**作为推荐算法工程师,比起CV和NLP都要更偏向于业务,即还要身兼担开发、产品、运营等。通常我们会根据产品需求开发一些策略,但是产品不一定就是对的,所以需要我们自己拥有产品理解、数据分析等技能。
**特点:**字节比较务实,基本一切都是为了产品做得更好,所以会要求每个人对于业务十分熟悉,除了技术讨论外,组里对于产品的思考分享也很多,比如组里文档里就有【如何认识中长视频】。我主管之前说的一句话也对我影响很深:如果连产品看板数据都不能脱口而出就不要做推荐了。
3、模型迭代
**状态:**算法工程师自然要训练模型,自己有什么比较好的想法或者执念都可以在okr里写并且尝试。但我自己体验下来实际上模型结构的“盲目搭积木”并不多,更多的模型工作主要是数据流、特征、新场景以及trick优化。
**特点:**之前也跟老员工讨论为什么不试试最新论文的模型,他们告诉我说其实绝大多数都试了,只是90%多都没效果。后来在工作中确实看到组里每周都会做一些基础优化,历史文档中也有很多最新的尝试,但是大多论文都没效果,反倒是自己摸索的很多trick或者数据流、特征改动有很大收益。我后来的思考是,首先推荐领域论文是啥样大家也都心知肚明,能普遍work的就那几招;同时在海量数据面前,模型单纯增加复杂度没啥用,重点是针对业务和数据来设计结构。(如果想搞推荐paper应该去阿里等)
4、分享交流
**状态:**每周都有多场分享交流,包括嘉宾分享、paper调研、业务分析还有组会等。业务分析可以跟着组里数学大佬从数据角度了解业务;paper调研可以听到整理好的多篇论文脉络总结;嘉宾分享可以听到其他业务线的优秀工作;组会可以学习到组里其他人的思考。我感觉如果能抓住机会且主动,这块带来的收获是非常大的(不过我太菜了好多都记不住)。
三. 新人感受
上面谈了一下字节推荐算法的日常,本章会介绍一下新人眼里字节有什么不一样的地方。
1、重视代码
字节非常非常重视代码能力,这一点从面试也能看出来。和其他家不同的是,可能在其他地方实习只需要做做探索性的工作,搞搞数据分析和模型尝试就好,但是字节可能入职第三周就要你改线上代码了。而这件事带来的影响是:
(1)你需要在入职三周内大致把几万行C++代码看完并串讲,并且在串讲后迅速根据需求更改线上代码。
(2)有不会的地方比起文档,大家可能更会甩给你一个代码链接。
(3)为线上负责,保证代码的正确、风格、稳定
可能很多算法同学都跟我一样平时python用的多,C++只是本科上过课,好点的写过C++小项目,但是真的遇到几万行工程代码,其设计思路和复杂度都是让人懵逼的。最开始我跟mentor说我基本C++语法都忘完了,这代码好多不知道从哪里看,然后好在有两个跟我差不多时候入职的新人,我们一起看着前人串讲摸索埋坑总算是看了个大概,后面在每次做项目的时候踩坑并加深理解。
到现在回想起连blade都不会的我,还有git rebase都用不熟练的我,感觉自己的成长还是显著的。
2、不分实习生还是正式员工
实习生基本上有正式员工的所有权限,不只是探索模型demo,要真的负责一小块业务,承担起和产品等对接的工作。同事也不会因为你是实习生就对你低要求,弱智的错误不能犯。(虽然我感觉我老犯,争取以后少犯)
3、强大的推荐中台
字节作为国内推荐的top,有非常强的推荐中台建设,无论是加召回、训练模型、推断、数据流等基本都是点点UI界面就可以解决,好处是有了更多的时间focus在业务和模型上,缺点是可能对于底层的认识就没那么深入。
4、牛逼的同事
感触很深的是同事真的都很强(算法也太内卷了),举几个例子:
(1)当时我入职前后俩实习生一男一女自我介绍都是清华姚班大三
(2)某一天狗哥给我发消息说,你们组那个谁你百度下,然后我百度完是信息学国家队(IOI)+姚班博士
(3)在领英上搜大半都是清北,然后非清北不少都有ACM背景。我还记得他们讨论一个算法面试题,大佬说出来其他几位同事说水题(然后我叒不会),回家一搜发现在场几位两个区域金,一个world final金。
关于我
你好,我是对白,清华计算机硕士毕业,现大厂算法工程师,拿过8家大厂算法岗SSP offer(含特殊计划),薪资40+W-80+W不等。
高中荣获全国数学和化学竞赛二等奖。
本科独立创业五年,两家公司创始人,拿过三百多万元融资(已到账),项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研清华后退居股东。
我每周至少更新三篇原创,分享人工智能前沿算法、创业心得和人生感悟。我正在努力实现人生中的第二个小目标,上方关注后可以加我微信交流。
期待你的关注,我们一起悄悄拔尖,惊艳所有