大家好,我是皮汤,是今年的校招应届生,同时也是字节教育的一名前端工程师。从 3 月底入职到现在也有差不多 6 个月了,这 6 个月我也逐渐适应了字节跳动的工作、生活方式,这也代表着从学校到职场的一些转变,我感觉可以把这些内容分享出来,希望能够给到想了解的同学一些帮助。
进来之前
进字节前,其实我在腾讯和京东都有过一段实习经历,也是依靠这几份实习经历以及准备这些实习的积累,帮我成功通过了字节的面试,这份面试经历我也写成了文章,感兴趣的同学可以戳这个链接:天道酬勤,进字节了,关于腾讯和京东的实习经历我后续也会抽时间写出来,感兴趣的朋友可以关注我的公众号:程序员巴士。
在准备面试前,我对字节的印象是有几个流弊的产品,如头条、抖音等,然后推荐方面特别厉害,注重算法考核等等,但是相比其他大厂,如腾讯、阿里,可能积淀没有那么浓厚。比如蚂蚁那边的体验技术部在开源方面有着诸多成功的实践,腾讯的 AlloyTeam 也经验丰富,产出惊人,而在我所在的领域里,字节在开源、技术输出、团队品牌输出方面确实比较贫瘠。
这告诉我们,其实应届生在选择一家公司或者一个团队时,有时候是看这个公司在对应领域是否有一些持续的对外输出,毕竟这些是看得见的东西。所以在拿到了腾讯、京东和字节的 Offer 之后,我是很难抉择的,所以索性我就三家都去实习看看,对比自己真实的感受来做决定,这也是这篇文章的起点。
初步印象
进字节的第一天,会进行一个集体培训,上百号当天入职的人,人手一台 Mac 也是惊艳到我了,很大的一个活动室里不停的播放着字节跳动的各种产品、Inspire Creativity,Enrich Life 不断的环绕在耳边、全球化的团队与视野萦绕在心头,听得人是新潮澎湃,让我顿时感慨,这才是一家值得来的地方。
就像后来我深入了解字节跳动使用的目标管理工具 OKR 的内在含义:“OKR 就像是一群人被困在了一个荒岛上,领导者并非是按照自己的意愿逐级向下分工来完成荒岛逃生,而是首先激发大家对于征服大海的渴望,向大家描述宏大的愿景,然后指定高挑战的目标,让成员自发思考对齐以完成最终荒岛逃生的目的”。
领完电脑,安装完 *** 工具(用于访问内网,且自由访问无需申请),讲完一些生活工作方面的基础知识之后,时间就来到了中午。我组长过来接过去工位然后一起共进了午餐,不得不说字节三餐免费还好吃,前提是早上10点之前到🌚。
吃完饭之后回到工位,去零食盒拿点零食,开始收收心准备调整姿态进入工作状态了。
字节的工位江湖人称 “黑网吧”,整个公司多地多办公区,就像举行一场大型的网络联赛,工位和座椅长这样。
据说是为了让同事在交流时能够更加顺畅,因为距离更近...(你懂的)
在办公区方面,字节不像腾讯、阿里主要有一些集中的办公楼,而是崇尚分布式工作,没有中心办公区,分散在各个商场办公区里,同时会在一定范围内发放住房补贴,所以说员工有大量的自由根据自己需要选择性租房,以及在商场周围吃饭和娱乐等。
员工关怀方面,字节办公楼里也有健身房,乒乓球、桌上足球等设施,楼下有合作免费使用的游泳馆,可以在工作繁忙之余去锻炼一下身体,可持续发展。
同时字节是一家注重反馈的公司,强调 More Context,Less Control,希望有很多的信息自下而上涌现,所以在每个工位前、每个饭桌上、每个健身器材上都会贴上反馈二维码,可以直达飞书(字节研发的办公软件,目前已经开放外界使用)对应的反馈值班号,与对应的负责同学直接交流,解决你的问题。让我印象最深刻的一次是,公司的饮料机里面之前一直有红牛,然后偶然的一周没有了,于是我扫描了饮料机上的二维码,进入了飞书值班号反馈群进行了反馈,马上得到了积极答复,并在第三天就重新上架了红牛。
工作体验
从校招入职到完全适应字节跳动的工作节奏,可能至少需要1-2个月左右的时间。
第一个月一般就是经历各种培训、新人串讲以及阅读各种部门的新人文档,同时你还需要参加字节内部技术学院的一个课程学习和考核,并由你的 Mentor 进行审批处理,这一块虽然说是稳过,但是还是要注意认真学习和考核,毕竟这是你成为一个靠谱工程师的第一位。
第二个月你才会真正参与到实际的业务中,面对头几个业务需求,在技术选型与调研、时间排期上是最难以考虑的事情,特别是之前在学校里单兵作战搞项目的,会尤其乐观,2周的工作量排期1周,但是在字节正规流水线下,需求需要经历 1稿、5 稿、9稿,然后经历技术评审,才会进入到研发周期,研发完成之后还有联调、测试,之后还需要将代码上到测试环境、线上小流量和正式的环境,甚至在这之中还可能需要在正式环境上灰度发布观测效果。因为产品会对开发效果吹毛求疵,设计和动效也会参与走查,联调方还可能 Delay,所以你发现 1 周有时候根本就不够用。保证质量的有效途径之一确实是严酷且标准的流程化。
有很多东西确实是只有亲身去实习了才能体会到,那就是字节内部的基础设施建设是真的很完善。一个工作 5 年经验,从腾讯转过来的同学说,之前腾讯很多东西都要自己造,比如监控工具,但是字节绝大部分东西公司的基础架构团队都帮你造好了,并且使用体验还很不错,如基于 React 的统一开发解决方案、部署工具、Serverless 生态、DevOps 工具链等,甚至监控工具已经完成了 toB 商业化。在内部技术氛围还尤其浓厚,你能想象几千人的前端大群里,天天讨论各种技术、轮子、解决方案和交流技术心得吗?有求必应,万能的字节前端大群,妥妥的前端娱乐圈,光是围观群内消息就可以学到很多知识了。
因为在整个研发的生命周期会需要使用到很多种工具,而工具本来也是研发出来的,相关的 BUG、问题、宕机也时有发生,所以为了将问题直接反馈给工具开发者,字节内部有一种广泛使用且长期被证明行之有效的方法,那就是 oncall 机制,在字节你基本上在任何内部的网站、系统、工具上都会看到 oncall 按钮,甚至基于 oncall 出了一套完整的反馈、拉群、数据分析、提醒机制,以保证新系统的无痛接入。通过 oncall 机器人反馈问题,如果是过往已经有的问题就可以直接拿到答案,如果是未知的就会建群,把相关负责人拉入进来进行直接交流、开会快速处理。正是这种直面反馈,快速迭代改进的机制造就了字节如今快速发展的模式。
所以作为一个业务方的中后台工程师,平时的工作基本上就是使用公司的各种优秀的基础设施进行开发、构建、部署、运维、数据监控、灰度等工作,然后专注于将业务代码打磨好,以及和各业务角色如产品、设计、动效、测试、服务端、服务依赖方等打好交道就好,顺滑的工作体验,可怕的流水线!
工作节奏
听闻江湖传言:“字节一天,人间一年”,这话真不是吹的,字节生活确实是高强度、高挑战,但也绝对是高成长。
早上 10 点到10点半左右到公司,中午 12 点吃饭,12点到2点是午休时间,下午2点到7点工作时间,3点半左右会有下午茶,每天都会不一样,有鸡翅、椰子冻、关东煮等等,应有尽有,晚上9点左右可下班。
虽然一天实际工作时间大概只有 8 小时,但是就是在这 8 小时里面,会经历各种残酷的战斗。
早上 10 点左右会开晨会,由于我所在的业务是中后台,负责编辑器相关的开发工作,本质上来说就是一个路由器,往下承接其他生产平台和服务端,往上对接渲染侧,如客户端或 H5,所以晨会的时候我通常是最忙的人之一,要负责串联各方消息,这一块大搞要消耗半小时左右时间。然后是规划今天要做的事情以及开始梳理目前在做的需求。
下午从 2 点开始,通常可以写 2-3 小时代码,在中间通常会插入各种会议,比如班车会议、BUG 相关,还会涉及要需求排期,提测相关的内容。
晚上的话基本上是专心写代码与学习的时间,大致是从 7 点半到 9 点,这段时间是心流时间,可以专心研究业务中的问题以及规划自己的技术学习。
上述只是大部分正常的时候的工作节奏🌚。
实际上还会有一段时间,比如排期需求倒排,中午要睡觉时临时来BUG还要求2小时之内要修好,那种排期失误本来需要3周时间,结果只排了2周的,基本上就决定了你天天凌晨 1-2 点睡,以及多个需求并发执行,一头没弄完顾那头的情况,这种是你作为需求承接者以及执行者要遇到的情况。
还有一种情况就是,你是需求的负责人之一,需要设计技术方案,拉通各方数据结构关系,并且要主持技术会议评审,虽然成长很大,能顺利主持下来收获很大,但是这也是一个痛并快乐着的状态。
成长与沉淀
来到字节的人可能多种多样,你可以看见哈佛、清华等名校毕业的同学;也可以看到那种虽然学历不好但是技术实力贼强的同学;你会遇见优秀的产品,也会遇到差劲的产品,前者往往能让你有条不紊的迭代业务,后者通常是你加班到深夜的根源;同时你也会发现,名校毕业、状元出生的一些人,可能拿了不错的待遇进公司,但是一进入公司就像断线了的风筝,没有一个可以按部就班拿捏的准绳了,所以往往研发效果不力,学习速度不明显。
造就上述的原因多种多样,公司发展好,潜力大;公司非常自由;公司非常开放等等。所以进入到字节只是拿到一张开始下一场打怪升级路的入场券而已,就像人生是一座绵延不绝的山峰,进入某个阶段可能只是攀登到某个小小的山脊,留给你的还有更广阔的山脉等你去探索。
经历了头两个月的洗礼,体会了字节大大小小的福利,完整经历了需求的开发生命周期以及使用了各种方便的工具充实自己,通过 oncall 机制快速解决自己的问题,那么你还剩下什么?你需要做什么?才能从茫茫大牛中脱颖而出,做自己呢?
我的答案是。
合理安排,持续学习
10 到 10点半上班,那么早上 7 点 40 可以起床,算去刷牙洗脸、吃饭和通勤的时间,你也可以在 9 点之前进入到学习状态,这就意味着你早上有1到1个半小时的自我学习时间;而中午有长达 2 小时的空档,怎么着也可以挤出个半小时进行一下反思和小东西的了解;而晚上通常是不忙的,你可以见缝插针的安排一些技术方面的深造;下班之后如果你还有精力,那么也可以适当进行规划。
合理运动,保持精力
身体是革命的本钱,字节是很 Open 的,所以下午你可以抽点时间去健身房运动,跑个 2 公里,拉伸拉伸,保持身体时刻处于一种放松状态能承接大压力。
学会拒绝,学会总结
来到字节,你可能发现人手一个文档表,用来记录自己的当天的 TodoList,以及一个思考记录,用来记录每天的思考结果,还有很多人通过个性签名放置自我介绍的文档,以及明确说明自己的工作方式。
是的,多写、多反思,使用文档来规划自己的工作与生活,同时有自己明确的工作原则,如排期要留几天空档,不属于自己分内的需求可能要适当拒绝,学会明确自己的职责。排期是一门艺术,如果能排好期,你将拥有无限的时间。
上述的一些总结,我在入职两个月左右也写成了一篇文章,后续会陆续发出来,名字叫:“平台是公司给的,成长是自己的”。敬请期待😃。
在更大范围内寻找最优解
做好业务只是本分事情,身处一个团队里,如何推动技术建设、增强团队氛围也是一个需要着重考虑的事情。在我们团队里,每周会有技术分享,所以尝试主动学习,思考并在双月产出一份优质的技术分享文档是非常重要的,如我自发研究 Vite 构建工具并产出了一篇文章:下一代前端构建工具 - Vite 2.x 源码级分析, 这个不仅能够推动其他同学加强自身分享的积极性,还能为之后的绩效评比、升职加薪甚至是 Leader 重视都提供一个参考。
从业务中来,到业务中去。尝试在平时的业务开发中,能够提炼一些通用的业务点或技术点,做出自动化生产方式,然后推动产品、测试去使用,及时评估收益,推动整体业务提高效率,比如一些可能会影响联调效率的一些依赖,可以抽成 iframe 的方式去建设。
我所在的业务因为是教育新业务,所以团队技术建设处于起步的状态,而在入职之前拥有一定的公众号运营经验,所以自然就承接了团队的 ELab 技术账号的运营,短短几个月便突破 7000 粉丝,文章均阅读破 1000+,同时 ELab 在团队内部形成了一套完善的文章收集、投票、发表、获奖机制,形成良性的反馈循环。ELab 还会在之后开设自己的技术大会、以及开源相关的项目。通过这种拉动团队氛围的经历,能够为自己的职业生涯增彩不少。
而推动上述事情能够实现的因素之一就是字节扁平的职级、以 OKR 为目标管理工具导向的工作方式、不讲 Title 的自由氛围,这也是吸引大多数有志青年加入字节的原因之一。
目标管理工具
入职几个月之后,在工作、学习方面基本稳定,生活可能会渐渐趋于平淡。这个时候你需要找到一些可能会持续促使你去发热的点,不忘初心。这是时候你会发现,字节跳动的 OKR 目标管理工具是一个非常值得学习的工具,O 代表目标,KR 代表关键结果。
就像我在文章开头提到的,OKR 首先会激发大家对征服大海的渴望,然后才会涉及到目标的自下而上分解与对齐,是一种自驱者的管理工具。而在字节 OKR 与绩效不会强挂钩,也就是你无需担心你的 OKR 完成情况和你最终的绩效的关系,可以放心大胆的去进行思考、对齐。
比如我每个双月都会规划好自己这个双月需要做什么,然后会拆解达到什么关键结果可以衡量我这个目标达成,并且会随时记录自己的进展和修改自己的 OKR。
而 OKR 最令人惊讶的一点就是它是完全开放的,因为你要有对齐这一过程,所以你几乎可以看到全公司所有人的 OKR,除非他/她设置了隐藏,这几乎就是一座宝藏啊,你可以看大佬是如何写 OKR,如何规划业务进展,以及业务发展的整个生命周期是怎么样的,从而无形中学习到一些宝贵的经验。
字节人与字节精神
字节跳动的使命是 “Inspire Creativity,Enrich Life”,愿景是全球创作与交流平台。正印证了使命与愿景,字节跳动一直在创作与交流上持续发力,头条、抖音、番茄小说、懂车帝、住小帮等,都无时无刻在践行着这些使命,并朝着愿景努力。
而字节范也就是价值观:追求极致、务实敢为、开放谦逊、坦诚清晰、始终创业、多元兼容。则时刻告诫着工程师、产品、设计、测试等所有角色该如何工作,该如何 “正确” 的工作。
听说字节跳动 2021 年的日活目标是达到 6.8 亿,而广告收入也预期达到 2600 亿元,目标员工超过 10 万人,同时也是全球最具价值的独角兽创业公司之一,未来在 toB 服务、教育、游戏等方面会大力发力,未来可期。
写在最后
我于 2021 年 3 月 加入字节,在字节体验了长达 6 个月,在生活、福利、压力与挑战、成长方面提出了自己的一点小小的看法,希望这些经历与经验能够给到你一点帮助
/感谢支持/
以上便是本次分享的全部内容,希望对你有所帮助ღ( ´・ᴗ・` )
喜欢的话别忘了分享、点赞、收藏三连哦~
欢迎关注公众号 程序员巴士,来自字节、虾皮、招银的三端兄弟,分享编程经验、技术干货与职业规划,帮助你少走弯路进大厂。