zackwu

我在字节跳动实习的三个月

  zackwu · Jan 18, 2020 · 32245 views
This topic created in 2340 days ago, the information mentioned may be changed or developed.

大三学生,去年十月跑去字节跳动后端开发实习,昨天刚离职。人生第一次实习,感触颇多,和大家分享一下~

前排提示:鉴于 V2EX 编辑器的排版能力,可以前往我的博客或者我的公众号文章查看,当然原文在此处也一并附上。


本文基于我从字节跳动离职时的申请,略微修改。

在字节跳动短暂的三个月实习,从去年十月顺手投出简历开始,到昨天办完所有的离职手续而结束。其间所经历的,印证并补充了我在实习前对国内互联网行业的所有设想,包括好的方面坏的方面

先说说好的方面。

字节跳动,作为国内目前的次顶级互联网公司(或许将来会成为顶级),手握今日头条与抖音等产品,发展迅猛,外界对其前景充满期待。自然,字节跳动完全拥有一家「创业公司」应有的工作环境与工作氛围,在我看来可谓是相当不错。

不论是为外人所津津乐道的各种福利(比如好吃且种类丰富的下午茶、零食与饮料),还是相对自由且灵活的管理制度,字节跳动提供了良好的工作环境。而年轻化的人员构成,现代化的管理系统,高效的办事流程,使得沟通顺畅,人际气氛和谐。或者再世俗一点,字节跳动的薪酬也足够高,且不论流传的各种天价 Offer,仅仅是对于实习生的薪酬,我也不得不承认相当厚道。

然而,字节跳动,一向以创业公司自称,Always Day 1,固然灵活且发展迅速,但无可避免地,这样做也充满了弊端(至少在我看来)。

首先,强调快节奏的工作,保持创业,注重产出。这体现在我身边的同事们都显得格外忙碌(譬如我的 mentor,有时候我会觉得他太忙了,以至于不好意思去用我琐碎的问题打断他的工作)。与之相比,有时候我会自我怀疑乃至感到愧疚:大伙就这么忙,为什么就我这么悠闲?这是一种健康的心态与工作氛围吗?我倾向于否定。除了忙碌,更严重的问题在于无止境的加班。不过由于作为实习生的我并不加班,就此便不多谈了。

另一方面,短平快的工作产出,导致了无可避免的工作质量降低,这与所谓的「追求极致」是天生矛盾的,不论以何种冠冕堂皇的理由去辩解。即便以一个水平低下的实习生的视角审视组内的一些工作,我也觉得很多事情不能令人满意。比如,组内的代码庞杂而几乎没有任何文档,这使我想要了解某个 API 时不得不横跨多个微服务去看它的代码实现;而在代码中,注释往往是缺失的,偶尔见到几行注释,却是如下这种毫无作用仿佛模版生成一般的注释,形同虚设(我一开始怀疑这种注释是自动生成的,然而 git log 告诉我并非如此)。而代码本身,我无意去评判(毕竟我的水平也不足以让人信服我的评判),但至少,我认为许多地方可以写得更加「优雅」。

// implement XXX method
func XXX(){
  ...
}

再举一个例子,某日的组会上,某位同事提出了不错的编译性能优化方案(至少我觉得很不错,比起各种听上去花里胡哨的技术名词与方案,十分务实),也做了一些相对深入的工作来解决问题,却被质疑道:做这些对于我们的业务有什么帮助?现在这个不是我们的瓶颈所在,必要性在哪里?(原话不如此,但大意如此)我当时很想开口说一句「追求极致」,但想想还是算了,毕竟口号只是口号,谁信谁 XX,不如闷声发大财,多写一些没有文档与注释的代码,多实现一些产品所要求的特性,多拿一些薪水与奖金。

再谈谈我所分配的工作内容。我极度怀疑,我们的项目组在招我进来之前,并没有想过他们是不是真的需要一个实习生,以及有哪些工作可以给实习生做,而是纯粹为了招聘而招聘。以后端开发之名招聘,却给我分配着测试的任务,而且还是女娲补天式的测试(毕竟,在之前,测试工作形同虚设,Jenkins 上的 regression test 已经坐了不知道多久的冷板凳了)。我并不是认为测试工作不重要,恰恰相反,我认为测试工作很重要,正因如此,我极度怀疑这样的工作分配是否合理。

多提一句,在我实习的半途,我曾经向 mentor 提议换个工作内容,但是被拒绝了,要求我先「完成测试工作」,然后方可做点别的。然而讽刺的是,在我离职前不久,领导终于意识到测试工作的重要性,招聘了好些新的全职员工着力于此,计划以几个月的时间完成这项工作。所以,当初我一个人真的可以先完成这项工作再做点别的吗?

因此,在实习的前两个月,我始终处于一种茫然的状态:过于宏大无当的工作方向,过于忙碌而难以给我指导的 mentor,过于枯燥无味的工作内容。坦言之,从这样的工作安排中我既无法获得乐趣(这是支持我从初中开始编程的最大动力),也无法学到太多有用的东西(这是我前来实习的目的),更觉得自己所做的事情没法创造价值(这是我试图自我激励的幻想)。而至于实习的最后一个月,客观而言,因为新同事的加入,事态稍有改观,然而为时已晚,我已经失去了继续待下去的念想。

多说不必,至此分别。我并不是贬低字节跳动,也不是贬低各位同事的能力(所谓代码质量,都是环境造就,与人的能力无关)。只是,经过三个月的实习,我意识到我和字节跳动并不搭(至少和现在的项目组不搭),那么,就此别过,祝大家和我都有美好的前程。


后记:在提交了此份离职说明后,HR 和项目组领导均与我有所沟通,他们做了一些解释,但其实不必,我完全理解这些问题是取舍与权衡的产物,世上不可能有完美的公司,而我不过是在寻找最适合我的公司罢了。虽然我对字节跳动(或者具体一些,对这个项目组)不甚满意,但这次实习也并非失败,毕竟就实习而言,有所收获便已然足够,不能要求太多。

Supplement 1  ·  Jan 22, 2020
没有想到这个帖子能够在 V2EX 引起热议,各位的回帖,我都在第一时间看过(前期基本上逐一回复,后期没有回复)。

今天,本贴的热度基本上已经冷却,我又从头把每个人的回帖都仔细看了一遍,大家从不同的角度给出了不同的评价,我并不完全认同,但我还是从中得到了许多新的想法,很感谢大家的热情回帖~
152 replies    2020-02-12 23:07:41 +08:00
1  2  
yamedie
    101
yamedie  
   Jan 19, 2020
翻页~~!
bk201
    102
bk201  
   Jan 19, 2020
看公司性质,这公司纯粹就是为了挣快钱的。你找偏技术的公司,必然是有成熟产品不断迭代的公司。
djyde
    103
djyde  
   Jan 19, 2020
看到了楼主的博客,很不错,已加入 rss
6ufq0VLZn0DDkL80
    104
6ufq0VLZn0DDkL80  
   Jan 19, 2020   ❤️ 3
1. 编译性能优化这个,我觉得质疑很有道理。不做这个而是去做业务特性跟追求极致不矛盾。业务上的需求都没人力做,结果去做一个既不重要也不急迫的编译性能优化,如果导致了业务需求 delay,这个极致吗?
2. 后面关于 leader 把你招进来却没有想过让你做什么,这个是 leader 的严重失职,完全可以向 HR 反馈。可能是部门问题,至少我们部门是不可能有这种情况的。发 offer 之前,如果说不清楚招这个人至少半年内做什么,是肯定不会让发不出去的。
npes87184
    105
npes87184  
   Jan 19, 2020 via Android
TheOutgoing
    106
TheOutgoing  
   Jan 19, 2020   ❤️ 1
lz 心态算是比较成熟的了 (比字节大部分年轻的正式员工都要成熟)
我只能这么说吧:这是个人选择,不适合就换,非常值得鼓励。
每个公司都有正面,也都有反面,找到最适合自己的再好不过了。
当然回帖中有很多偏激的观点,看看就好,不要被他人偏激的观点影响自己的想法。
一定要保持辩证的思维看待事物
daiqiangbudainiu
    107
daiqiangbudainiu  
   Jan 19, 2020
国内的企业跟字节跳动没啥区别,都是业务驱动的,技术不重要,业务重要
Gea
    108
Gea  
   Jan 19, 2020   ❤️ 1
tech-driver 的公司太少了,也不是很容易赚到钱。
国内大多数公司都是这样(因为我不知道国外公司的样子),我们部门敏捷开发,遇到功能最多四个周上线,正常两个周上线,我面对现在屎山一样的代码(我写的也是屎,一直在努力让屎不那么难闻),只能十分无力继续加屎。系统运行了三年多了,从一开始就敏捷,设计之初有太多不合理的地方了,到现在一直都没有进行过重构,毕竟要保持业务推进。闲着的时候推算了一下放弃业务推进,全部进行重构估计要三个月才行。
hoyixi
    109
hoyixi  
   Jan 19, 2020
实习生就是哪里需要哪里搬,许多临时性的项目、阶段性的工作,不用专门设立岗位招聘人员,用实习生成本低。
Leonard
    110
Leonard  
   Jan 19, 2020
看到字节跳动第一反应就是大小周
wangyzj
    111
wangyzj  
   Jan 19, 2020   ❤️ 1
个人和公司不能相提并论
同样
公司的短平快原则也是值得参考的
总是短平快与否要自己弹性权衡
CaperInc
    112
CaperInc  
   Jan 19, 2020
楼主的思考方式很成熟,确实公司的风格是否和自己合适,也非常重要。
如果比作上学的话,一定会有适合自己的老师和班级~

虽然楼主是做后端的,但是我也想小小做一个安利~
我们是一家北美新零售的创业公司,19 年融了 A 轮~目前国内分公司 base 上海,希望招一个初级安卓工程师,未来能够转向后端~
如果身边有对新零售有兴趣的小伙伴,也欢迎介绍!
详细信息:www.v2ex.com/t/639155#reply0
danmu17
    113
danmu17  
   Jan 19, 2020
楼主这种思路还是去不太本土化的欧美公司会比较对胃口。
damngoto
    114
damngoto  
   Jan 19, 2020
楼主思想还是很成熟的。
Fortnight
    115
Fortnight  
   Jan 19, 2020   ❤️ 1
大部分公司都走这种所谓敏捷开发的路子,天天都有做不完的事,没到屎山要倒的时候,业务永远不可能让路的。lz 有能力选择的话,多去尝试尝试不同的企业也是很棒的。
yichenluan
    116
yichenluan  
   Jan 19, 2020
可以来基础架构团队,上海有存储团队在
zhangdawei
    117
zhangdawei  
   Jan 19, 2020
每个公司都要计算投入产出比,而且一般是 1-3 个月内的投入产出比
0vv0
    118
0vv0  
   Jan 19, 2020
楼主博客不错,文采也不错,思想也很成熟
exceptionplayer1
    119
exceptionplayer1  
   Jan 19, 2020
楼主很棒,很有思想,有主见。
wupher
    120
wupher  
   Jan 19, 2020   ❤️ 1
佩服佩服,我觉得我当年应该是做不到这样。

我可能还是会感到不舒服,但是考虑前途(也算在国际一线公司镀金了)和钱途(头条目前还是很大方的)。应该是会默默忍耐,甚至被动感染。几年后再考虑跳槽换到其它公司。

祝你好运,预祝春节快乐
Lightio
    121
Lightio  
   Jan 19, 2020
一楼的点赞数量 /本帖所有点赞数量 约等于 V 站「含傻量」
hk3475
    122
hk3475  
   Jan 19, 2020
facebook 实习,基本上文档和注释这两块挺像的
qlhai
    123
qlhai  
   Jan 19, 2020
换孙红雷的话说,不气盛能叫年轻人吗?/我觉得楼主思考的这些点很好,我现在的组也存在这些问题,虽然不是头条
matthewz
    124
matthewz  
   Jan 19, 2020   ❤️ 1
基本上, 想去技术氛围好的公司
(文档好
追求技术 /代码质量
不万事以业务优先)


那只有 Google, Facebook 都不行
hiyouli
    125
hiyouli  
   Jan 19, 2020   ❤️ 3
我认真的看完了楼主写的每一个字。
也看完了大多数的评论。
诚然楼主年轻意气风发诸多的想法和感慨几年以后也许真的会被社会捶打。
但是正如楼主所说,人不轻狂枉少年。这也正是年轻的人的表现啊,想想自己年轻时候也是有这样的状态,甚至都不如楼主这么果敢。

能有这些思考,我认为这已经算是很优秀了。楼主加油!
laike9m
    126
laike9m  
   Jan 19, 2020 via Android   ❤️ 1
欢迎来 Google 实习。不论是定项目还是安排其它各种事,目的都只有一个:让实习生开心🙂
yanulg
    127
yanulg  
   Jan 19, 2020
lz 真的是非常优秀了,从能进入头条实习,到沟通的尝试到离职的选择,都是我很羡慕的素质。
zhuangqhc
    128
zhuangqhc  
   Jan 19, 2020   ❤️ 1
楼主看的明白
我毕业一年半,当时在鹅厂实习的时候,也是一个情况。刚开始实习的时候,每天都研究怎么把代码写的更好,然后发现完全没有人 care 你的代码,能 work 就行。业务部门主要还是以业务需求驱动,能满足产品需求即可。测试也不写 :)

毕业后来了阿里云的基础设施部门,这里写的每一行代码都会被严格 review。经常会争论代码实现的好坏。楼主感兴趣的话,我可以跟你交流更多的经验
v2Geeker
    129
v2Geeker  
   Jan 19, 2020
刚毕业的时候我也这么想的,后来就被同化了
vincentfeng
    130
vincentfeng  
   Jan 19, 2020
差不多,国内大多数公司都这样
SpiderXiantang
    131
SpiderXiantang  
   Jan 19, 2020
@yangzhezjgs pingcap 实在顶 面试体验非常好 爱了 然后挂了 !
SpiderXiantang
    132
SpiderXiantang  
   Jan 19, 2020
讲道理好的代码是不要注释的 说明你们组的变量命名和函数命名都非常糟糕
magicfuzzx
    133
magicfuzzx  
   Jan 19, 2020
某种程度来说,招实习生就是为了税收和政策的优惠
est
    134
est  
   Jan 19, 2020
@magicfuzzx 老哥稳。
SeanChense
    135
SeanChense  
   Jan 19, 2020
@matthewz
> 那只有 Google, Facebook 都不行

赞。所以谷歌做产品样样不行,社交社了十几年没整出个啥来
gzponline
    136
gzponline  
   Jan 19, 2020 via iPhone
zoom 了解一下 待遇肯定没头条好 但技术氛围很好
如果有需要
[email protected]
qiuqiuwang99
    137
qiuqiuwang99  
   Jan 19, 2020 via Android
应该开个新程序员专版,慢慢去讨论这些问题。
老程序员都在加班,关心假发在哪买
shixiaohan
    138
shixiaohan  
   Jan 19, 2020
还是觉得主要是沟通的问题,双方的预期不一致导致的矛盾,如果开始沟通好预期换个部门也许会更好
smartv
    139
smartv  
   Jan 19, 2020   ❤️ 1
一下内容来自得到课程增长 30 讲:

字节跳动公司如何用文化和系统工具,这两点降低阻力,让系统中的创新想法可以流动涌现,让创新的人才可以在这样的环境中培育和发现。
主要是三个方面:入职筛人、信息环境和协同网络。
第一条是入职筛人,字节跳动选的人,首先要有拥抱变化的心态。因为如果是追求稳定的心态,就会压制创新。
在面试的时候如果一个人特别关心进了公司具体做什么呀,希望自己能固定在某个岗位,希望公司流程清晰,这人基本上就进不来了。
字节跳动只会告诉要入职的新人,你进来的第一个着陆点在哪里。之后,你就要靠自己在公司的信息环境里学习,在协同网络里去成长,自己找感觉,自己去生长。
入职筛人是一道原则关卡,是一次性的动作。但是营造信息环境和建设协同网络,则是组织建设永无休止的工程。
smartv
    140
smartv  
   Jan 19, 2020
@smartv 以下
shm7
    141
shm7  
   Jan 19, 2020 via iPhone
非重点部门有时候要强行搞事情,就容易出现一种莫名其妙的忙碌。有过类似经历,我自己当时感觉特别不踏实不真实。。
mec
    142
mec  
   Jan 19, 2020
楼主祝好,可以看下 Google 微软的外企机会
miankaking
    143
miankaking  
   Jan 19, 2020
大三了,还没有去实习。希望楼主能找到自己喜欢的工作
cosmic
    144
cosmic  
   Jan 20, 2020 via Android
看好楼主,年轻有想法,可以考虑来我软实习一下
superbiger
    145
superbiger  
   Jan 20, 2020
@cholerae 自己是个开发就别操心那么多业务的事儿,自己做的工作也只是理解业务在此基础上优化。别没事儿操自己操不上的闲心。业务任务开发进度不够,是一个开发能解决的,何况题主还是实习生!实习生在自己的工作范围内做出一个开发范围内的一个优化和想法是值得鼓励和支持的。最讨厌一个开发自己没到上岸的位置,替业务操余剩心,口号喊着“一切为了业务”。
6ufq0VLZn0DDkL80
    146
6ufq0VLZn0DDkL80  
   Jan 20, 2020
@superbiger 可以先认真看下文章,这个优化不是楼主实习生提出来的,是“某位同事”提出来的。
cyspy
    147
cyspy  
   Jan 20, 2020   ❤️ 1
优化编译性能如果不能带来收益的确没必要做,这和上学的时候把笔记画得特别好看的小女生没什么区别。如果编译速度严重影响了你们的工作效率,这件事肯定要做。至于测试,很多公司都已经基本取消测试岗了,研发自己来做。不过你的 leader 很可能确实没想好要实习生干嘛,这点我同意。头条的很多实习生都是直接接新项目的,如果一直测试几个月的话确实该走
superbiger
    148
superbiger  
   Jan 21, 2020
@cholerae 😩 我滴锅~
jiqiren007
    149
jiqiren007  
   Jan 22, 2020
好奇他们在忙什么
287854442
    150
287854442  
   Jan 26, 2020 via iPhone
非常值得做啊,编译时间减半本身可以节省大家大量的编译时间,也相当于把大家电脑配置升级为原来的 2 倍,效率也能得到提升,体积减少一半相当于减少用户一半下载时间。一个只注重业务本身,不注重提高生产效率和员工自身技术水平的团队,眼光显然是比较短浅的,可能在里面做了好几年,技术也不会有特别大的进步,远离这样的团队是正确的
xcm153
    151
xcm153  
   Feb 6, 2020
@leonme 能解释一下为什么 应届生建议去百度、美团,社招建议去阿里、头条吗
matthewz
    152
matthewz  
   Feb 12, 2020
@SeanChense 一个做技术的管那么多产品运营干嘛? 打工仔非要端着资本家的心
1  2  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3267 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 163ms · UTC 13:03 · PVG 21:03 · LAX 06:03 · JFK 09:03
♥ Do have faith in what you're doing.