我对于外包开发的看法

瘦欲@ 提交于 2019-11-28 01:15:51

目录

1 技术

2 福利

3 加班

4 归属感

5 收尾


本文章非技术文章,只是谈谈我对于外包开发的看法,总体来说是负面的,甚至可以说是批判性的,不喜勿喷。希望能给不知道什么是外包的职场新人和毕业生们讲解一些关于我曾经在外包项目组工作过的感受。

我之前在外包项目组待过两个月,最后实在是受不了了便裸辞了。现在被一家不算是一线但还不错的互联网公司录取,下周入职。至于我为什么会来到外包团队,主要是因为我们之前那个项目组的管控项目进入维护期,因为我们只是做管控项目,如果做别的也不太实际,领导也是换了又换,最后应该是为了缩减成本于是就不需要那么多人了,其中的大部分人都被分配到其他的业务线和部门,只留下了几个人做维护,于是我和另外两个同事就来到了外包团队。在之前的项目组做的是本公司的管控平台,我从大四下半年实习到今年2月份一直都呆在这里,说实话也学到了很多东西,也尝试了一些当时来说算是新的技术,知识图谱之类的,同时也可以将自己平时自学的知识运用在项目中,也是很有成就感的。另外不光是技术的积累和使用经验,还有一些代码质量、代码规范之类的内容,也会定期做些技术分享(虽然我没去过几次-_-)。

后来就是今年3月份来到了这个项目组,其实一开始我并没有意识到这是外包,因为谁都没提过,我也不是很敏感。只是后来偶然碰巧和同事坐一辆公交车下班时候聊天得知的,说实话顿时有一种恍然大悟的感觉。我们是给银行做审计系统,这个团队也是专门做审计的。在这两个月里,一开始我们是在公司自己的工位上进行一些开发,后来先后去到了两个银行做驻场开发。下面我将从几个角度来讲讲我对于外包工作的看法。


1 技术

在外包团队里面我们用的是SSM框架集,这点无可厚非,毕竟不需要那么大的体量。而且之前的项目组用的也是SSM。在之前的项目组中,因为前期上线时间紧,开发可能不够规范。但是后来在做项目重构时,架构师会对各个子模块做梳理,使用Dubbo来对采集模块做解耦,尝试去做些微服务的东西。但是在外包的项目组里,我看不到这些,一个大的单体项目实现大一统。同时外包的性质就决定了不可能做后期重构和优化。因为不是自己的产品,只要能做出来,能实现功能就行,我才不管什么代码质量,代码执行效率,解不解耦的问题。其实在做部门调整之前的某一天,审计项目组的一个项目经理和另外一个更大的领导过来,给我们三个人开了一场小会。其实也就是说说他们现在在做些什么,会有怎样的发展前景等等。我当时问了一个问题是您们现在用的是什么开发技术?他们说我们之前的项目用的技术可能是老一些,但是现在的项目也会用一些现在流行的SSM,还会有HIVE等等...其实听到流行的SSM框架集这块我心里就已经有定论了,SSM流行?起码在2019年的今天,我不敢苟同这个结论。至于前端?用的还是JSP-_-,因为我不是专门搞前端的,不太清楚外包团队普遍使用的前端技术,在这里我就不做以偏概全的言论了。

开发人员的水平良莠不齐。其实这是每一个公司,每一个团队都会存在的问题,但是我个人的看法是一个团队中一定要有一些技术开发好的,能带着新人的核心程序员。即使不带,你也可以虚心求教。在这里我并不是说外包团队的开发水平不行,我觉得也许我们这个项目组是个个例吧,在这里我不对这个现象负责,只是说说我的体会。首先就不说什么写了很多冗余代码、不考虑封装性之类的,有些比较有资历的人连双重检查加锁方式的单例一定需要加volatile关键字修饰都不知道。还有一个大佬,和我讨论Lambda表达式的写法时(其实我搞不懂为什么一定要觉得Lambda表达式的写法很NB,你想用就用,不想用就不用。Lambda表达式只是一种简化写法,写代码又不是用来炫技的),我看他的业务代码明显是存在着效率问题的,但我也能理解,毕竟时间紧任务重嘛,但是你会后续进行代码优化吗?想想也知道是不可能的。当然我这里不是说我技术有多厉害,我也有很多的地方需要请教他们,他们的经验比我丰富,我只是在说出这个事实而已。还有从我3月份进来这个团队,到我5月中旬真正离职期间,前端封装的框架就一直没有完全好用的时候,尽是一些小的bug。还有一次晚上大家一起加班吃饭的时候,A同事和B同事在聊一些关于开发习惯什么的,A问B:“难道不应该是写完一个小部分,测试成功了再接着写下一部分代码吗?”,B说:“我不是这样的,我是习惯一写就全部写完,最后再进行测试。哪怕最后测试有bug,那也重头再来。”,听到这里,我心中一万个草泥马飞过,最后那个B同事也是被其他同事各种找他改bug,因为他的出口影响到了别人的源。还是那句话,外包团队只在乎任务能不能按时做完,对于开发人员的规范和培养,反正我是看不到的。其实说了这么多案例,并不是说我在抨击些什么,只是在告诉你们外包团队里面对于技术的培养是处于劣势的,只要你能做出来就行,至于效率和优化,并不是我们所关注的。有些时候你自己花了时间做了优化,也可能会出力不讨好。当互联网公司的员工做项目时考虑的都是代码效率、高并发、大数据量的问题时,你考虑的只是如何能完成要求,只要能完成就行,不考虑实现方式。高下立判。

至于具体的业务来说,也许有些人会说外包就是简单的CRUD,撑死了就是复杂的CRUD,在各种调用API而已。这点我是不认同的,从我所在的审计项目组来说,虽然对于我来说只是做了一些公告维护,工作台首页的开发之类的边缘开发(我毕竟是中途加入的,并且互相也不熟悉,做一些边缘开发我也是能理解的),但是其他人也会有一些相对来说有挑战性的,有趣的业务工作。但是等你真正离职,去找别的工作时,这些工作内容真的值得和面试官去说吗?我毕竟只干了两个月,对于这点来说,我说不上答案,也许你已经有了答案。即使你能去到一些大厂,给大厂做外包,但是你也不可能会做到核心项目的开发。核心项目的开发永远只属于甲方公司自己的员工,外包也就是做一些边缘模块开发或者相对来说不重要的模块,劳动密集型而已。


2 福利

对于外包团队的福利,其实我是没有什么可多说的,因为可能每个外包团队的制度都不太一样,这里仅以我们外包项目组的一些福利来聊聊吧。节假日不会发公司的小礼物,享受不到甲方公司的福利,这些都是大家能从网上搜得到的。但是对于我们项目组组而言,加班吃晚饭还是会有报销,下班后打车也是有报销,这点还是可以的。


3 加班

同样,对于加班这点,各个外包公司的制度也不一样,有的会有双休,但是我们项目组确实是一直在加班,类似于996。虽然后来被分配到另一个银行去做审计系统,在那里不是996,有双休,但是我去的时候正好是他们进行开发阶段之前,后来没几天我就提出离职了,所以不具备参考意义。

其实对于加班来说,我并不是排斥的。但是你加班要有加班的意义。如果你一直在做一些可有可无的工作,加班也提升不了什么,充其量就是对于业务更加熟练而已,那对于我来说就纯属就是在浪费时间。也许我这么说是有些片面的,毕竟非外包公司也会有重复性劳动的情况出现,毕竟公司要赚钱。但是如果一直是在做重复性的劳动,你可能就要想想自己未来的打算了(如果你决定一直在外包公司待着,就当我没说)。如果你一直在加班,就没有自己学习的时间,就不能提升自己,就不能改变这个现状。如果你现在还在外包公司工作,并且想离开外包,但是没有相应的实力,我确实没有更好的办法推荐给你,唯一的办法是只有更加努力。在招聘网上看看现在招人都需要什么样的技术水平,针对性的进行学习,每天11点下班到家的话,那么花出一到两个小时来进行学习,只要你能踏出这一步,永远都不会晚。如果你不去努力,那么你就只能甘于现状,如果你甘于现状同时还抱有一颗我为什么这么倒霉,生不逢时,没有赶上互联网红利时代的心,那将是莫大的讽刺。


4 归属感

其实以上的点都不是我离开外包项目组最主要的原因,毕竟对于以上几点来说,都可以用两条准则来打脸:“干我屁事?”和“自己不够努力”。所以真正让我有勇气和项目经理提出离职的想法便是这一条:外包没有归属感。归属感这个东西其实很虚,我在进入外包之前也不太懂这个感受,即使上网查了查,也不太能理解。归属感这个东西也许只有你真正经历过外包才能感同身受,但是在此我还是想说说我的一些感受,供大家参考。

说白了没有归属感就是你没有稳定的感觉,常常干完了一个项目,会被派到另外一个项目去做开发。同时你会有一种下等员工的感觉,总会觉得甲方公司的员工比你高人一等。其实我在之前那个银行做驻场开发,感觉还好。好歹可以在银行食堂吃饭。但是在后来那个银行做开发,不仅银行食堂只有甲方员工能吃饭,我们只能出去吃,同时还没有工卡,只有访客证。访客证还需要用身份证来扣押,得有甲方公司员工的接洽,这感觉就像是我是个信誉不良的坏人一样。后来又演变成了每天早上需要办理访客证,晚上必须将访客证还回来,第二天早上再次办理的情况。在来到那个银行的第一个星期,我都是没办法办访客证的,上下班只能跟着自己项目组的有访客证的人走,真TM感觉像是个孙子。最后几天我嫌麻烦,没有晚上还访客证,等我最后离职退卡的时候,前台那个服务员的表情也是爱答不理,呵呵,wdnmd。

除了访客证的问题,我在第二个银行做开发的时候,都没有工位。所谓的工位只是在某个会议室里进行开发,在一张大长桌子上,几个人一起拿着笔记本进行开发。要不就在一个特别小特别热的小空间里开发。我们只有五六个人,之前在会议室开发的时候,有好几次是甲方公司的员工进来说要用这个会议室,我们就只能给他们挪地方,真的是低人一等的感觉。

但是有一说一,这个银行项目做的原型倒是特别认真,每一步的步骤,执行效果都抠得很细。但是这个项目后来也是沿用我之前那个银行项目的前后台框架,你规划的再好,具体执行起来可能就不是那么一回事了。有好多原型上的效果我都不知道能不能做出来,这里两个项目的领导也不是做技术的。


5 收尾

我还是想再三强调一下,我不是在抨击外包的制度,外包有它存在的道理。只是说,如果你是个有追求有抱负的程序员,亦或是不懂外包的职场新人或是毕业生们,我希望你们能看清外包的内在。如果你刚毕业,可能外包的门槛会低一些,于是你进了外包公司做开发。对于职场新人来说,外包公司的各种规范做的还是比较健全的,毕竟要和甲方做沟通。我的建议是不要在外包公司待超过一年。当你在外包公司待得越久,就会越陷越深,最终等你想出来的时候,就会发现技术已经脱节了。而且从我实际找工作的经验来说,即使我之前不是在做外包的部门,但是社会上对你公司的评价就是做外包的。做外包的多多少少会有些歧视,这也是不可避免的。如果能不去的话,尽量不去。

最后,我想分享一些关于找工作时,怎么去分辨外包公司的技巧。除了摆明自己是做外包的公司之后,像一些出现“外派”、“驻场开发”的字眼,都是做外包的。另外如果是给银行、政企等国企部门做项目开发,而自己公司却跟这些国企没关系,不是子公司,又或者是实际面试地点和标记的地点不一致,就需要警觉了。外包公司的待遇和技术要求说实话,都要偏低一些。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!