• 小公司和外包公司哪个更好?
  • 发布于 2个月前
  • 186 热度
    0 评论
我呆过几个公司,都有正式员工(外企叫regular)和外包员工(外企叫Vendor),所以也接触了不少外包员工,平时做兼职培训时也见过不少外包员工,说下我见过的外包员工情况。

1 普遍能力一般,甚至是偏低,因为入职时肯接受外包条件的,要么是培训班转行,要么是当时能力一般,或者是学校一般的应届生。
2 外包干久了,进入到舒适区以后也能躺平,但躺平时间超过2年后,竞争力会下降到下份工作估计连外包的活也找不到。
3 也见过不少外包员工,入职后能力很低,但顶多用1年时间就能显著提升,或者转成正式,或者跳槽后薪资大涨。

从工作内容上看,外包员工基本上是属于干很初级的增删改查的活,一般有什么关键性的任务,都是正式员工带1,2个外包一起做。我是做java的,这个方向外包干的,基本就照着现有现有代码复制粘贴新的业务,顶多就再用些组件的api,可能业务比较复杂,工作量比较多,但论技术,只是做初级开发的活。

做java的项目,其实写代码是相对初级的活,能帮助程序员提升能力的,一般是和运维以及和组件相关的活,比如是用组件解决个熔断或限流,或者用组件提升个数据库性能,或者是根据压测结果做个扩容,或者是其它架构方面的活,但外包员工很少有机会接触到这些活。

另外,在日常开发过程中,程序员一般是通过解决实际问题来提升能力,尤其是解决组件,性能,运维和部署方面的问题。一般常见的场景是,比如有个问题,尤其是包含值钱方面技术的问题,领导一般是主动分配给正式员工,外包员工如果积极些也能介入,但如果外包员工缩在后面,其实一般也没事,毕竟外包员工钱少,也没指望外包员工能干高级的活,这就导致外包员工没机会提升。

甚至当项目紧的时候,不少外包员工还会被抽调出去干不是开发的活,比如是核对数据甚至只是跑简单的测试案例。所以从工作时间和工作强度来看,外包员工其实每天都在忙,而且每天都可能在加班,但真可能干个2年后,技术非但不提升,而且只会限于增删改查。

再说下我见到过的外包程序员的水平。最大的感受是,外包程序员一般只需要用半年时间,就能成为熟练工,之后哪怕再干个5,6年,其实是无法提升的。所以很多大龄外包,比如是30岁以上的外包员工,论能力,和一个具有2年开发经验的程序员相比,其实并没太大的差别。

下面列些java方面的,高级开发应该能干的,但不少外包员工还未必掌握的技能。

1 登录到linux看日志分析日志的能力,不少具有5年经验的外包员工,还真会从linux把日志下载到本地,然后在windows上看日志。
2 数据库或内存调优方面的技能,不少外包员工其实只会初级的。或者说,来了一个性能方面的问题,不少外包员工甚至不知道从哪些方面看哪些日志去排查。
3 不少外包员工会主动绝缘和部署和搭建(组件等)环境方面的工作,一方面没实践机会,另一方面也不会主动介入。甚至有不少外包员工,组件层面只会在代码里调用api,都不会到linux上看这些组件的配置信息或干更高级的活。有些人可能会认为这是架构的活,但高级开发多少要接触些。
4 devops方面的,比如pipelines,docker,k8s或service mesh,或者和部署相关的,不少外包甚至听都没听过。这些,或许不少正式员工也未必知道,但哪怕在小公司,做熟了,多少应该了解些部署甚至是云方面的技能。

总之,外包程序员的上限,真可能是做熟业务,然后能熟练分析并解决业务层面的问题,对比一下,不少有5,6年工作的经验的外包程序员,一般也只能对标在大厂里工作2年的程序员。

所以不少人说,外包做久了很难找后面的工作,这其实是符合现实情况的,倒不是说不少公司会歧视外包,毕竟能做到歧视外包的公司并不多,而是因为再去找工作时,不少外包程序员,空有5,6年开发经验,论技术只会增删改查,顶多只能算个初级,但不少公司招这个工作年限的程序员,要求多少是能做调优能会用组件的高级开发。

写到这里,其实本人更想说的是,相对于好公司的正式开发岗,外包开发岗其实不行,但在很多场景,外包开发岗其实是优于小公司的开发岗的,因为很多小公司的所谓自研开发岗,其实连接外包的资格也没,毕竟接外包也是要一定的资源和财力的。或者可以这样说,不少小公司的发展目标,是能持续地接到外包的活。所以很多场景下,选小公司还真不如进外包,相关内容本人也有专门的文章。

小公司和外包哪个更好?
不过话说回来,哪怕是当下,只要学历可以,通过包装项目外带准备面试技巧,找个外包的活其实并不像有些网上说的那样难。而对于一些外包员工,大家可以用如下的方式来高效提升自己。

1 明确下,这个外包的活最多只能干2年,或者1年后就可以跳,所以干的时候,别在乎别人的工作方式和想法。毕竟做外包,相当于是用当下的辛苦和受气换取技术提升。

2 这点其实不论外包,一些初级开发也可以照此办理。开发项目过程中,为了确保项目能平稳跑起来,一定要做很多事情,比如开发,或测试,或用监控,或用组件,或者是部署。其中开发是相对最不值钱的技术,也就是说,外包员工一定得关注能确保项目能正常运行起来的其它技术。

3 一定要去多解决实际问题,如果自己当下没机会没资格去解决更高级的问题,多去问。在解决问题时,积累些问题现象、排查方式和解决方法。业务方面的问题不算,组件或性能调优或部署或架构方面,这些问题积累到二三十个以后,真就可以去面试了,而且面试时这些说辞更值钱。

最后想说的是,外包程序员鲜有能力强的,但能用外包程序员的公司一般不会差,项目一般也能包含些值钱技术,所以做外包真可以当成是带薪学习实践值钱技术,学制一般顶多2年。超过这个学制了,就相当于是留级了,留级时间越长,自己的竞争力也就越低。
用户评论