ByteDance 实习感受

写在最前

对于体量如此之大的公司,组与组之间的区别可能会大于公司与公司之间的区别。我所在的组是偏业务的后端研发。

我的体验是从一个实习生的角度出发,可能有些东西就不在考虑范围内了,比如薪资、升职机会之类的。

即便都是做技术的,大家适合的方向,追求的目标也不尽相同。所以我的想法不一定有参考价值。

缺人

缺人二字是我最大的感受,很多或好或差的体验似乎也源自于此。(其实好的部分就是能够光速走完面试流程入职,毕竟很缺人嘛。坏的部分可以写很多。)

作为实习生的感受

我的工作内容:爬虫工程师 => 屎上雕花 => 大炼钢铁 + 运维

屎上雕花(也是我一个人搞了两个月的项目):

  • 是一个交接过来的项目,交接文档可以忽略不计(就是一些仓库和服务的链接)。
  • 代码极其糟糕,阅读代码的过程中只能让我感到恶心,而不能学到任何东西。
  • 技术只有我一个人,也不需要开会讨论,运营提需求,然后完成。技术方面一无所获,就连沟通方面也是如此。

作为实习生的预期(来过字节之后,我开始讨厌“预期”这个词),应该是 mentor 从他的工作中分出一些工作量和难度合适的需求交给实习生,期间指导实习生熟悉项目和完成需求,并进行严格的 code review,期间实习生应该能有所收获。显而易见的,我的实习完全不符合预期。

当然我也可以理解这样的安排,因为我是不会转正的实习生,如此缺人的情况下,不妨当作外包来用,分配一些自闭的东西。

之后换了一个项目,体验确实好了不少,但仍旧不符合预期,主要是代码质量和排期的问题。况且也改变不了我浪费了两个月的事实。

大炼钢铁:

  • 作为一个相对较新的项目(半年多),已经在代码质量上背上了历史包袱。
  • 实习生写出大量质量较低的代码(这对实习生的成长不利,对项目的未来也不利):
    • 实习生也需要参与赶工期,才需要写很多代码。
    • 所有代码(包括实习生的代码)没有得到充分的 review,因为 mentor 也要赶工期(甚至是不止一个工期)。

个人感受

和优秀的人做有挑战的事

我参加过字节的冬令营和夏令营,也算是早早结下了缘分。有一句话我听过很多遍:“和优秀的人做有挑战的事”,但是我完全没有感受到这一点。

优秀的人:并非说我的同事们不优秀,只是没能让我感受到,主要原因则是因为工作内容并不是有挑战的事。

有挑战的事:在我们组,有挑战的事恐怕就是在紧迫的排期面前符合预期,以及应对各种合理或者不合理的 On Call。至于代码,无论是质量还是设计,都是能用就行的地步。

这样的环境,对于实习生的成长非常有限,而对于全职的同学也很不好,用一种戏谑的说法,就是搬砖 3 年还是 1 年工作经验。

团队

同事们人都挺不错的,唯一给我感觉比较糟糕的就是 leader(当然我也可以理解,做管理的和手下应该有一些距离感):

  • 在 1 to 1 meeting 讨论中,说一些我完全不 care 的东西,比如公司的成长,比如实习的收入,我在乎的是个人的成长,而我相信这与贵组的利益本可以不冲突的。
  • 另外我要补充一个细节,在我提出希望离职的时候,leader 用给我糟糕的实习评价来威胁我,还用字节跳动整个公司的能量和人脉来震慑我。

这很常见吗

我也有几个同学在字节跳动实习/工作,沟通之后发现他们的体验比我就好上不少。

而且作为之前有过两段实习经历的实习生(同样是一开始就告知不考虑转正),我也算是首次感受到如此糟糕的体验。

组内现状

一个组实习生占比很高,且留不住实习生,我觉得问题一定不是出在实习生本身,而是这个组。至于组的问题,归根到底还是 leader 的问题。

工作量大,人手紧缺 ⇒ 产出有限 ⇒ 组内分配到的资源少 ⇒ 为了争取资源接更多的项目 ⇒ 工作量更大 ⇒ 实习生大力参与且缺乏指导 ⇒ 实习生体验不佳成长受限 ⇒ 劝退实习生 ⇒ 人手更加紧缺

我觉得已经陷入了恶性循环,然而我看不到破局的希望。

技术栈

go + gin + gorm

虽然接触 go 的时间并不长,但之前也算是体验了三种语言的五六种后端框架,反正非常讨厌 go 语言,这个之后另写一篇吧(工期太紧,甚至在职的时候都没有时间写)。

写在最后

How likely are you to recommend our group on a scale from 0 to 10.

0.(给得多可以加分,但并不能。)