先说结论:
1 程序员做外包没有前途,外包做久,不是说工作找不到,而是会耗费宝贵的职业发展时间。
2 对于零基础的程序员来说,做外包是个很好的入行途径,尤其是对培训班出身的程序员。
3 外包做了一年后,应当跳槽,而且 在这个程度上跳槽不难。如果把时间放宽些,程序员做外包的时间不应该超过两年。
其实做外包也有三六九等
,最差的外包是,外包公司没有任何技术储备,直接把人卖到甲方,而且是驻场开发。好一点是的,公司通过做项目,好歹也有一点基础储备,或者是项目开发和实施方案,这种外包文件大部分可能是在公司办公,公司好歹还能屏蔽些甲方的压力。
当然还有一种外包的形式,那就是外企。
哪怕外企公司规模再大,国外的核心团队也不大可能把核心或者关键业务交给我们做,总是外派一些次要的或简单的任务,或者干脆让维护项目,即修bug。不过进了外企后,也算进了好公司,虽然可能用到的技术未必很值钱,但好歹对后面的职业发展,也有一定的作用。
当然本文所讨论的外包,不包含外企,只包括驻场外包的形式或在接外包项目的公司里干活。
先说下做外包对程序员发展有什么弊端?
1 先其它都不说,多少会对程序员职业的发展,产生一定的挫败感。典型的就是同工不同酬,或者只要是甲方的员工,都能指使外包员工。
在这种工作环境下,外包员工很容易被背锅,甚至可能连据理力争的权利也没有,久而久之就会逆来顺受,丧失上进的动力。
2
不可能接触到值钱的技能,这对程序员发展的伤害其实很大。一般来说,甲方会让外包员工干初级的活,这些活可能仅限于增删改查。这种活干了2,3年,除去业务技能外,技术上的提升相当有限,甚至可能下一份工作还是外包,或者是依然在小公司里干初级的活。
3
工作不稳定,导致找下一份工作会很困难。比如甲方公司在做好一个项目后有可能开掉外包员工,或者说,甲方公司如果有任何风吹草动,第一个受到影响的估计也是外包人员。
这样就有可能会出现干了不到一年就不得不换工作的场面,或者是一年内频繁地被跳槽。如果简历上出现这种情况,不少公司都可能会直接拒绝给面试机会。
我呆过一些大厂,同事中不乏也有外包身份干活的,这里就通过些实例来向大家展示下外包程序员工作的状况和状态。
1
干同样的活,工资顶多只有正式员工的三分之二,而且没有任何福利。对于一些工资少的外包员工,工资只有同级正式员工的一半。而且年终奖顶了天就是一个月的工资,不少外包员工可能还没年终奖。
2
项目管理方对外包员工期望不高,一般只会分配些很初级的活,这些活刚毕业的程序员干了半年后就能干。所以会导致这些外包员工可能加班也很厉害,但实际学不到东西。而干一些比较高级的活时,默认的搭配是一名正式员工带领若干名外包员工,
哪怕正式员工才入职,外包员工很资深。
3 外包员工每年涨薪,不论基本工资有多少,顶了天只能涨1千,大部分的外包员工,一年涨薪是以百计。
4 我见过不少通报批评的邮件,出状况的都是外包程序员,处理的方式是“退回原派遣公司”。
5 当公司发出压缩成本的邮件时,各项目组干得最多的事情就是劝退外包员工,即直接和外包公司联系,表示来年组里没有这个外包名额了。
程序员做外包根本没有前途,这是众所周知的事情,只不过通过上文的描述,大家能更直接地认识这点。但是,外包岗的面试很简单,外包公司本身不会设置任何障碍,面试其实是象征性的,而外包公司往往能知道甲方公司的面试题,或者如果甲方项目组着急要人,面试时只会问很初级的问题,所以对一些入行有困难的程序员来说,外包可能是个最好的,或者说是唯一的选项。
再具体点说,对于刚从培训班出来的程序员或者换城市发展找不到工作的程序员来说,怎么找外包类型的工作?
1 直接在招聘网站上来,凡是职位里有外派或甲方等字样的职位,都是外包类型的活。
2 多更新简历,猎头自然会找上来,然后直接说,要找外包的活。可能猎头好公司的职位未必有,但外包类的活应当有不少。
3 面试甲方前,多问问派遣公司的人事,比如问面试题和面试注意事项,除此之外如果有可能,再可以问问哪个甲方公司稍微好些。
4
谈工资的时候问问派遣公司的建议,然后在此基础上多要些,当然要太多也不可能。不过外包的工作只是积累经验。然后面试时,别过多表现出自己的个性,尽量表现出能承受压力,能干活能听话的样子。
这样大概率能面上外包的活。
上文也说了,外包的活没前途,所以一方面别干久,另一方面干活时更得积累值钱的技术点,争取在做外包后1年跳槽,这方面该怎么做?
1
多参与解决实际问题,哪怕项目组领导没让参与。对于程序员来说,解决问题是最好的提升能力方式,具体地,从看日志到分析代码再到解决,这个流程多接触几次,一定能接触到值钱的技术。
2
入职的当天,就应当列出下份工作的清单,这些清单应该尽量是大厂,再不济也应当是正规公司。同时列出面试所需的技术清单。外包工作可能会很累,被分配的活也未必高级,但外包程序员所在的项目组,绝对有接触值钱技术的机会,或者再扩展出去,外包程序员绝对有机会和其它项目组交流,一定有机会了解各种值钱技术。
这块涉及到外包程序员的发展,所以再多说一下,怎么留意并掌握值钱技术呢?先去了解场景,比如Redis用在什么场景,kafka用来解决什么问题。再去看代码,了解语法。最后再去积累些相关技术解决问题的经验,比如接触些解决kafka问题的案例,这样哪怕没实际做过,也能了解值钱技能的语法,并能很好地证明自己在项目里做过。
最后说下外包程序员如何跳槽。
1 我了解到的公司,都不会歧视外包程序员,但为了彻底避免这一问题,外包程序员在投简历里,不仅应当写清楚公司和项目名,更要列清楚用到的技术。
如果单纯写,在xx公司做xx项目,这样还有可能被认出是外包项目,但如果加上,在这个项目里,用到xx等值钱技术,而且还解决过xx值钱技术的问题,那么这份简历就很有竞争力了。
2 面试的时候,不问不说外包经历。不过话说回来,哪怕说了外包经历也没事,只要回答好技术问题就行。
3
在外包项目里,有可能很累,也有可能会受气,但千万别因此而得过且过。上文也说了,在外包项目也有可能接触到值钱技术,尤其地,如果外派进银行保险公司或大厂,这种机会更多。多接触值钱技术,多积累值钱技术的问题解决方案,下份工作直接进大厂也不是没可能。
但是还是这句话,外包工作别干长久,更不能因为在外包项目组里待久了,业务很熟悉了,所以就得过且过。要知道做外包的程序员每年贬值的速度会超乎想象,而且甲方公司是否会压缩成本,这也很难说。所以如果可以的话,还是尽快地通过外包的项目积累经验,然后找到更好的工作。