# 大厂的新人培养体系是什么样的

之前我一直在知识星球 (opens new window)和大家讲,能进大厂一定要进大厂,大厂有比较好的培养体系。

也有录友在星球里问我,究竟培养体系应该是什么样的呢? 大厂都会这么培养新人么?

其实大厂部门也是非常多,不同的领导对待新人的态度也是不一样的。

就拿腾讯来说,腾讯里面 上千个部门,基本就是上千个小公司,只不过外面披一个腾讯的壳子,每个小公司的leader风格截然不同。

赶上什么样的领导了,这就看命运了。

只能说进大厂,大概率会有一个比较好的培养体系

那么好的培养体系是什么呢?

要从两个方面来说:

  • 给你详细的学习路线(自我技术提升)
  • 给你有产出的活(用来晋升)

# 详细的学习路线

关于详细的学习路线,一般大厂入职之后配有导师的,导师给你安排的每一个功能,应该带你熟悉整个研发的流程。

一个功能的开发,需要经历如下几步:

  1. 看需求文档,确定需求
  2. 这个需求包含了哪些功能
  3. 有哪些难点
  4. 后台架构是什么样的(要有架构图)
  5. 定协议(前后台一起商量),服务与服务之间的,后台与客户端之间的
  6. 设计数据结构+算法=程序
  7. 预估一下容量(各种资源例如带宽,存储,CPU等等)
  8. 考虑一下部署(安全性,容灾,可伸缩性。。。。)
  9. 设计评审 (上面过程都是在分析)
  10. 编码
  11. 自测
  12. 联调
  13. 交给测试
  14. 代码review
  15. 合入
  16. 发布

可以看出来,写代码仅仅是 其中的一小步。导师应该带你走一遍完整的开发流程,然后告诉一些注意事项,这样为自己程序员生涯打好基础

可能有的同学会感觉:我就开发一个小功能,哪用得着这么多步骤,一把梭哈,直接代码写完。

哈哈,这么想的同学一般是没有参与过大型且流程规范的项目开发。互联网千万级用户的项目,几十上百人一起开发是需要规范的,所以上面我说的每一步都很重要!

# 有产出的活

初入职场的同学,可能都非常在意能不能学到东西,也就是自我技术提升,往往忽视了你干的活,是否有产出,能不能用来晋升。

这里就是很多所谓的“套路”,老司机一般挑的活符合如下几点:

  • 非常规整(周边没有烂糟的额外工作,例如还要开发各种小工具之类的)
  • 独立模块(不需要和其他人扯皮,省事)
  • 对项目组很重要(既有技术难点,又没有大量的业务增删改查)
  • 风险系数比较低(上线出问题,锅甩不到他这里)

这种活就是好活,用来晋升的利器,而且干着也舒服。

但一个项目,一定会有大量需要打杂的活,写各种脚本,各种处理数据,然后看各种问题,整理文章,汇报,开发边缘工具等等。

新人一般进来都是先打杂的,但如果领导确实是细心培养你,还是额外给你一个小模块,让你做好,这个小模块就是让你用来晋升的或者转正的

这个建议不仅适用于实习生,对于初入职场的同学也很用帮助,这个部门是不是有在培养你,老司机一眼就能看出来,只不过新人可能自己很难发现。

所以需要过来人点拨一下,大家就知道自己现在的处境了。

希望对大家求职和工作有所帮助!