在 8.12 我开始入职字节跳动,部门是 Data 内容,而今天是我入职以后的第三个月。

为什么选择字节跳动,主要原因还是因为我是一个在乎语言的细枝末节的人,我很喜欢字节跳动的字节范还有充满年轻人的文化,坦诚清晰 追求极致,这些很适合我这个老实人。

这三个月我做了什么呢:

  • 独立维护和迭代一整个平台(py2
  • 重写了一个新的项目将老的一堆服务都取代掉,同时追加了很多测试。
  • 从 Node 转到 Python 重拾起来 Python 的各种最佳实践以及轮子。
  • 产出了一些文章
  • 给新的项目结合公司的工具做了一套 CI/CD 体系。
  • 实现了一个有趣且可靠的飞书 Bot 托管平台
  • 负责了组内的 Python CodeStyle 的 Code Review
  • 封装了一些 SDK

前几天我被调去做整个平台的基础服务了,在字节跳动我学到了很多东西,其中我认为最重要的一条就是 善意假设,相信你的队友,永远假设他是善意的。

在小公司事情是永远做不完的,没有时间给你深入了解技术,你要做的就是尽快完成需求不要思考以后,尽管很多人说大公司也是这样,大家都在搬砖,但是大公司可以给你更多的时间去做这些事情,而且你决策需要考虑未来,这很有趣,因为只要可以深入研究一切都可以变得有意思起来,比如重构老的代码,去研究各种消息队列的差异,去看看框架底层到底是怎么实现的。

同时我也重新理解了如何成为一个可靠的人,可靠并不是指承诺什么时间交付就什么时间交付,在互联网公司变化太多了,要准点交付很难,所以要做到的是和同事们保持同步,如果有 Delay 的风险,那就及时沟通抉择出来一个全新的日期,这点确实和 StartUp 是不一样的。

但是刚加入的时候其实我很想溜掉,吐槽了很多包括但不下于如下:

  • 没有 CI/CD 以及应该有的 Git 规范
  • 我接手的项目已经经了三手了,代码混乱各种 Magic Code,维护起来十分折磨而且丑陋。
  • 很多同学都是其他语言转 Python 的,写出来的代码一点也不 Pythonic。
  • 工作压力大,刚去的那会不适应大公司的节奏,结果每天都要搞到两三点每天除了吃饭睡觉基本就是写代码了。
  • 工具没有用明白,大公司的东西都是内部使用的,从我的角度来看他们很难用。

当时因为加班太忙了没时间操心投简历的事情,所以也没溜掉。当然既然没有溜掉,那就只能改变现状了,一开始还是蛮折磨的每天基本都要干到 两三点,因为我错估了时间,导致为了不 Delay 压制自己的生活。以及老代码的可阅读行太差了还没有单元测试,Debug 起来非常痛苦,在技术评估的时候没有考虑到公司的基础服务跟其他服务不同,导致重新评估了好几次。。。 刚去的前一两个月就是一脸懵逼外加无能狂怒(这些代码刷新了我对代码下限的认知)。但是还是要硬头皮上,一点一点的把这些问题解决,同时迭代整个流程。过程虽然很痛苦,但是确实很有趣。

祝我以后每天都能开心的写代码