zl程序教程

您现在的位置是:首页 >  其它

当前栏目

大厂的培养路线应该是什么样的?

应该 大厂 什么样 路线 培养
2023-06-13 09:18:14 时间

一些录友会好奇,究竟培养体系应该是什么样的呢?大厂都会这么培养新人吗?

以下也是知识星球里录友的提问:


请问一下卡哥,你之前的回答里说的,大厂会有比较好的新人培养体系,想问问大概是什么样子的?

有培养体系是普遍现象吗,还是只有成熟的/核心的部门才有?

我目前在某二线厂实习,感觉实习过程基本靠摸爬滚打和不断问别人,挺难受的。


Carl 答:

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

只能说进大厂,大概率会有一个比较好的培养体系。具体要看部门,有的业务部门营收压力比较大,那就是赶鸭子上架了。

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

要从两个方面来说:

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

详细的学习路线

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

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

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

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

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

这么想的同学一般是没有参与过大型且流程规范的项目开发。

互联网千万级用户的项目,几十上百人一起开发是需要规范的,所以上面我说的每一步都很重要!

有产出的活

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

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

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

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

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

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

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

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

扯皮

再给大家拓展拓展 平时开发都有哪些扯皮。

其实程序开发,扯皮的事情非常多,例如说 15.合入代码和16.全量测试

合入之后,一般测试同学去跑一个全量测试,没出问题万事大吉,一旦出问题,甩锅也是心累。

可能一些录友会感觉很简单的操作,其实合入是非常容易出错的,因为你的代码可能没问题,其他人的代码也没问题,但合入到主干之后,就有问题了....

或者是你的代码改了一个地方,其他模块代码正好依赖这个地方,也出问题了.....

或者是你的代码没问题,是别人的代码有问题,但上次没测出来,这次测出来了,那测试就认为你的代码引入的bug....

我在举一个例子,有一些bug,是陈年老bug,改起来非常麻烦,谁都不愿意改。

改这种bug在领导眼里不出活,而且还非常容易犯错,那如果你的代码合入 有引发了这个bug(可能和你的代码没关系,这个bug就是周期出现),那测试会认为是你导致的,开会的时候和领导一反馈。

领导很自然就让你来修改,这个bug就甩到你身上了,所谓的 甩锅接力,你最后接棒了

所以合入代码,特别是和 其他人一起开发一个模块,你的代码一定要尽早合入,这样你会省心很多。(这里只有懂的人才会懂)

后面合入的话,你的前面已经很有多其他同学代码的,出问题的话即使不是你的问题,你也要去排查,因为是你合入的代码导致的。

可以看出来,就单纯写代码,其实扯皮的事情也非常多....  如果导师不教你如何合理甩锅,其实会很心累。

这是项目大了,繁琐的流程 所带来的必然结果,但 人多去开发大项目又一定需要流程,但流程也不是越全越好,所以这里需要一个权衡,每一个项目组权衡的角度是不一样的

作者著作

▊《代码随想录——跟着Carl学算法》

孙秀洋 著

  • 归纳经典算法面试题,总结经典算法的各个知识点
  • 分析多个算法应用场景,快速构建算法知识体系
  • 本书是用C++进行讲解的,支持本书内容的 Java、Python、Go、JS、PHP、C、Swift等语言版本,可以查看本书内容和讲解思路,配合网站一起学习

本书归纳了程序员面试中的经典算法题,并按照由浅入深、循序渐进的顺序讲解。

本书首先讲解程序员面试时需要了解的制作简历的技巧和IT名企的面试流程,以及面试时经常忽略的代码规范性问题。然后详细分析程序的时间复杂度和空间复杂度,包括如何把控程序的实际运行时间,以及编程语言的内存管理。接着讲解数组、链表、哈希表、字符串、栈与队列、二叉树、回溯算法、贪心算法、动态规划的理论基础及其相关题目。

本书采用了力扣(LeetCode)的原题,方便读者在学习算法的同时,及时练习相关代码,加深对相关概念的理解。

(限时五折,快快扫码抢购吧!)

口碑爆棚

发布:刘恩惠
审核:陈歆懿
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连

 热文推荐  
头像类NFT的未来,实际价值在哪里?
双中台架构之数据平台建设方法详解
狼书三卷终大成,狼叔亲传Node神功
程序员职场晋升:与阿里前P9的一次近距离互动

▼点击阅读原文,查看本书详情~