您的位置首页百科知识

在字节跳动/抖音工作是种怎样的体验?

在字节跳动/抖音工作是种怎样的体验?

的有关信息介绍如下:

在字节跳动/抖音工作是种怎样的体验?

翻了一下这个问题下的其他回答,发现说公司好的很多,而且说好的说的几乎全是优点,大概新人们对公司还是比较有感情吧。我这个回答其实也说公司好,但是满满全是吐槽和负能量。

我对公司没啥感情,只是生意。公司当然是奸商,毕竟要压榨我的剩余劳动价值。但是既然忍受了那么久压榨,说明我亦有所得。所以我觉得对于想来头条的同学,我的答案会有一些帮助权衡的借鉴意义吧。

即将离职人员,决定来回答一发这个问题。

先介绍一下我的基本情况。 我16年本科毕业,17年来头条,是我的第二份工作。 研发岗,在推荐组,算法工程师,算是比较核心的研发岗位了。

写这个回答一方面总结一下在头条工作的得失,也给想要来头条的同学一些参考意见。

压力非常大,至少在我们组,尤其对于比较菜的新人来说(比如我)。我刚来的前半年,几乎每天都觉得上班如上坟,非常艰难痛苦。

头条的新人培养体系是不完善的,而且大家也不是非常在乎这一点。(当然这一两年还是有一些进步,至少现在比我刚来的时候要好一些。)新人一来基本上没有什么培训流程,直接分配具体任务开始干活。如果运气好的话你可能会被分配到一个mentor,运气不好的话可能没有。(当然即使有mentor其实也没啥用就是了。)对于某些菜鸡新人(比如刚来的我),连vim和git这种最基本的工具都不会,那人生就会比较艰难,因为需要在短时间学习比较多的东西来跟上进度。如果遇到不会的问题你可以去问组里的前辈。(当然前辈不一定乐意告诉你,大家都很忙。能随便获得一两句提点就是不错的了。)如果你顺利度过前两个月的新手期的话或许你会被分配到一些需要组间合作的任务,如果你是一个跟陌生人打交道不那么熟练的人,你就要受折磨了,因为别的组的同事往往比每天能说上几句话的组里同事要更难沟通一些。

曾经我也觉得为什么新人培养会做得这么差,直到我也混成了一个炸得焦黑的老油条,我懂了。因为这其实是筛选是考试。能通过就留下,做不到就滚蛋。老油条们都是这么活下来的,所以他们都不在乎,到现在其实我也不在乎。新人嘛,就是应该痛苦的,大家如是想。

所以至少我们这边,其实新人的一年淘汰率还是挺高的(第一年被劝退或者自己混不下去离职的)。但是一年以上的老员工出奇稳定,几乎没什么人出去。

组里招人标准是非常高的,周围top2以及留学回来的能占一小半。但是即使在这种标准下,据我所知,新人一般普遍觉得比较痛苦。一些人自发地以超过996地努力程度,依然觉得难以跟上节奏。

那么自然就有一个非常明显的好处,如果你能顺利度过这个时期,一定可以获得不菲的提升。我们组进来前两周,就可以接触到头条推荐的所有核心代码,并且要求你对整个系统如何运作有完整地了解。当然,至于你看着一个repo几万几十万行c++代码感觉怎么样,就没有人在乎了。还是那句话,要么搞定它,要么滚。至少对当初的我来说,第一次见到服务数亿用户的线上工程代码,并且要短时间在几乎没有指导的情况下搞懂运行机制甚至做出修改,我是差点就滚了。

工作时间其实是比较自由的,除了众所周知的大小周加班外,其他时间几乎没有强求。我觉得基本上是完全看产出,只要你产出没有问题,早10晚7是完全可以的(实际上基本上没人这么干。)

不过我个人的情况而言,大部分时候每天除了吃饭都在工作。没有摸鱼划水真正高强度的工作。大概还是因为菜吧,总觉得有无形压力在推动我这样。

想提一点让我一直很痛苦的点——不能午休。其实没有人规定不能午休,也有很多同事中午会趴一会。但是因为我遇上了一个精力爆炸好时不时中午找我的大哥,而且我趴在桌上很难睡着……后来生生就戒掉了。但是不休下午状态总归是不太好的。这一点并不通用,如果你趴着能睡着的话一般是不影响的。

在这种工作强度下,我觉得对人的精力消耗是非常大的。在前一家公司的时候六七点下班,晚上我往往还能写一写自己喜欢的东西或者看看论文,到头条之后几乎没有了这种精力。下班只想摊着看看剧啥的。我觉得不是我不努力不上进,是我的身体从物理上不再允许我做这些事了。

Oncall

如果你负责线上服务(几乎必然会遇到),那么你就要oncall,7×24处于待命状态,半夜三更可能随时一个电话你就要起来处理线上问题,即使周末也一样。我在头条快两年,半夜被吵醒大概只有一两次,但是周末大概有一半的时间是不能完全不处理工作的事情的(Lark回复消息或者简单几分钟处理完也算)。

这大概是业务快速发展的一个痛点。大家都在快速向前,工作生活几乎不分。各种大哥大佬也都全年无休,随时可能想到一个问题就马上提出来,你就得响应。这一点我觉得比较难适应。一开始的时候差点因为这个离职了。后来虽然习惯了,但还是很难不腹谤。

虽然挂着算法工程师的title,但是其实我做的真正很算法的事情并不多。我们几乎不区分算法和工程。即使现在,头条业务依然处于非常高速发展状态,所以必然要做很多很业务的事情。(可以理解为类似写ifelse的逻辑代码)训模型的工作当然是有的,但是占比往往不是那么大。然后我观察到的一个趋势是:越菜的人做的事情就越杂。我特别菜,所以做的事特别杂。前端后端都得写,给运营写日报、做工具,写边边角角的脚本和服务等等。所以厉害的人得精通一些事,比如模型训得特别好,架构能力特别强等等。而菜的人至少也要足够广,至少打杂需要你会的你就都得会。所以一个显著的好处是:不管怎么样,只要能混下去,总是能学到挺多东西的。

我来头条之前,作为一个没啥见识的小菜鸟,总想着机器学习就是nlp或者cv,就是每天用tf写写模型调调参数。然而实际上业界的机器学习应用和打打kaggle或者跑跑imagenet是非常不同的。一个g的数据你想怎么搞就怎么搞,网络想怎么玩怎么玩。但是一个t的数据问题就复杂很多。头条抖音训练一个模型用到的数据量基本是p级别,那么需要focus的问题的核心很大程度上已经不是模型结构和参数了。倒腾数据、优化性能之类的事情可能更重要。

头条的同事关系是非常简单的,至少我认为研发队伍是这样的。

上下级之间就是上级给下级分配任务,然后下级干活。如果你干得好,你就会被肯定。真正强的人可以飞快地晋升,拿很多钱。这一点我觉得是非常难得的。

一般同事之间呢就只是工作关系,私下没什么交情,一般也没人打听你的家庭情况婚恋关系啥的,除了工作之外也就团建之类的活动会一起,也就是简单吃饭而已。我这种不喜欢社交的人还是很喜欢这种状态的。

最近996的话题很热,我们这边基本也是接近996的节奏了。我觉得头条至少一点好,我们臭名昭著地告诉大家我们就是很累,你可以不来也可以随时走。不画饼,不灌输什么为公司奋斗的价值观。这就是交易,我用这么多钱,买你干这么多活。公平公正。

这一部分主要写给想来头条做推荐算法的同学吧(这里说的是ailab之外的算法岗位),分两类:

我想知道怎么能进到头条做算法,需要掌握什么技能?

在我看来,真正必要的条件其实只有两点:数学能力、编程能力。当然,其实这只是表象,核心是学习能力。比如,你不能说我不会写java或者我不会js,如果业务需要你会,那么你就应该会。

我本人进头条的时候大概是高数凑合及格,LeetCode easy问题不大,medium八成不行的水平。按这个标准大概被大部分敢投头条的应届生完爆。不过那会我深度学习有比较多的实践经验,nlp或者cv都基本具有复现论文的能力。这个大概是个加分项。所以我认为,本科的数学和计算机课程认真学过,具备一些机器学习方面的实际经验(随便拿个数据集跑个xgboost或者tf example这种不算),就差不多了。当然如果遇到那种上来就用hard题怼你的人……我也没办法。不过我组同学面试新人都还是很和谐的,有几个老哥非常热爱二分查找……我就面试过一次问了一个不用库函数求根号n。看吧,其实也不难……所以觉得自己差不多可以的同学大可私信找我内推哈哈哈。

我能拿到offer,该不该来?

前面说了一堆压力如何大,但是,如果你是大佬,比如acm金牌选手,一堆顶会论文的大佬之类的,请无视我一个菜鸡的吐槽。您尽管来,这里有我这样的菜鸡帮您端茶倒水提鞋泡面。也有跟您一样的大佬你们可以一起拯救世界。

如果你也是跟我一样挺费劲拿个offer担心能不能活下去以及混不下去被开了还能不能找到工作的话。我觉得你应该考虑以下几点:

1、我觉得最重要的一点,你是不是一个乐观开朗可以和人打成一片的人。如果你的回答是肯定的,那我觉得我遇到的各种麻烦对你来说会减少很多。因为很多问题如果你可以非常良好地和同事沟通交流,那你的人生会简单一些。像我这种开口问别人特别费劲只能自己薅头发死抠的人,就会费劲很多。不过其实也有好处,自己抠明白的问题理解会深一些。

2、喜不喜欢头条或者抖音这样的产品。我觉得如果喜欢做出来的东西的话,成就感会高得多。

3、对自己的学习能力有没有信心,对于几乎什么都靠自己但是能学到很多的环境是不是觉得兴奋。是否希望到一个付出会有回报,会不拘一格提拔人才的地方。

4、至于大家很喜欢说,公司也很喜欢拿出来吹嘘的各种福利,比如下午茶食堂房补车补之类的,我觉得一点也不重要。大家都年薪几十万的人了,没必要在乎这一年一两万,两三万的小钱。首先当以个人发展为最上,今天去一个好的环境,十年后或许每年多挣几百万。即使只看钱,眼光也要放长远。

总而言之,我觉得头条是一个非常积极向上的公司。有冲劲的人还是值得去试一试。至于我为什么离职嘛,其实只是觉得或许应该换一个更适合我的方向而已。

写得很随便,大家随意看看,欢迎批评讨论。