对将进入外包公司的你说不


外包和异地恋一样,都是反人类,如果你是人类,切记不要触碰。

外包在软件行业最为常见,当然其他行业也有,但是外包的曝光量很少,这就导致许多人并不了解外包到底是怎么回事。外包公司是给客户提供帮助以谋取酬劳的一类企业,分为项目外包和人力外包。项目外包就是从客户方将项目带回外包公司自己做,自己提供场地、设备和人力;而人力外包就是只提供人力,办公场地在甲方工作。在中国的软件开发行业,外包公司贼多,一不留神就会误入歧途。

  • 第一梯队
    • 中软国际、软通动力、文思海辉、神州数码通用软件、……
  • 第二梯队
    • 武汉佰钧成、深圳雁联、博彦科技、中和软件、信必优、……
  • 第三梯队
    • 大展科技、亚信联创、东南融通、爱思爱、上海启明、……

对将进入外包公司的你说不


很遗憾的是,我之前也在外包公司干过。当时从上海回来,正直招聘淡季,加上当时对外包公司还不太了解,所以经过两轮简单的面试就进入了中软国际。我们的团队大概 20 人左右,分为前端、开发、运维以及自动化集成。隶属于华为核心网的业务线,工作主要围绕的是 SONMaster 产品的周边支撑服务,所以做的基本都是边边角角,而其服务的核心代码以及核心技术,都是华为自己的小团队来开发和管理的。我当时主要负责的是 SONMaster 的自动化安装工具以及健康巡检工具的维护和优化。

之前不清楚外包公司的我,以为外包公司就是给客户开发产品的。后来在这里待了几周之后,慢慢的发现了,原来并不是我想的那么简单。那什么才是外包公司呢?作为一个过来人角度,说说自己对于外包公司的一些理解。外包公司其实就像一个养鸡场(卖鸡蛋的),比如中软国际就是一个大型养鸡场。

  • 运作模式
    • 而养鸡场建立之后,首先需要做的就是购买大量的成品鸡和小鸡仔,这就类似于招聘大量的 IT 从业者以提供足够的人力资源。然后有了足够的产量之后,就需要大规模的推销自己的产品,这就类似于承接各种互联网企业、金融机构的外包服务。接着就是派送鸡蛋,这一家需要每个月供应 30 个鸡蛋,哪一家需要每个月供应 100 个鸡蛋,养鸡场就把这个 3 只鸡圈起来供应这一家的鸡蛋,把那 10 只鸡圈起来供应哪一家的鸡蛋,就类似于外包公司内部的团队一样。
  • 风险评估
    • 需要注意的是,每一家需要的鸡蛋数量很不可能不是固定的。如果这家这个月新添加了一个小孩,可能需要的就多一些;而那一家有人开始不爱吃鸡蛋了,可能需要的就少一些。这就是为什么外包公司 HR 特别多的原因,因为每天都会有大量的人员入职和离职等相关手续以及业务需要办理。还需要注意的是,买鸡蛋这个行业就和种地类似,是靠天吃饭的。如果今年没有鸡瘟等疫情,鸡蛋就会大量的被需要,所以养鸡场就需要扩大规模来满足市场的需求。但是如果流年不利的话,可能养鸡场都会有倒闭的风险。就是为什么外包公司会有资源池这个概念,就是这个团队没有事情干了就要解散,然后所有人回到资源池进行其他团队的二次招聘。如果两/三个月之内还是没有找到对应的岗位,那就只能对你说走好了,您嘞!

其实我们团队之间的关系还是挺不错的,然而迫使我离开外包公司的原因,主要有以下几件事情引发的。

  • 环境气氛
    • 刚刚入职没多久,团队那边因为华为的项目调整,导致很多服务以及开发环境都要上华为云以及自研的代码托管平台,所有开始要从之前的 SVN 迁移到 Git 上去。当时我们团队里面的人,基本都不会使用这个工具,而我会,所以后面我的直属领导给我说希望我能给大家安排一次培训,讲讲 Git 工具的日常使用。所以我自己抽时间,做好了 PPT 给大家培训,结果中间还闹了点不愉快。哎,我当时感觉自己已经开始怀疑这个世界了!
  • 公司福利
    • 我记得当时刚刚转正没多久,正好赶上了八月十五中秋节。中秋节,那肯定公司的给发月饼以及购物卡不是。万万没想的是,中秋节我们公司确实给我们发了月饼,但是月饼的牌子是猴子牌月饼。真的,我长这么大从来就没有听过这个牌子,我懵逼了!然后,什么东西和礼物都没有了。后面我才发现,不光是中秋节,端午节、圣诞节、春节都基本是这个套路。你说,你还会干下去吗?
  • 工作制度
    • 一开始入职的时候,还是之前承诺的做五休二的工作情况,但是周二、周四晚上必须在公司加班到晚上九点才可以走,说是公司还给大家每天补贴十元的餐补。就这样,没过多久因为华为那边的工作时间调整导致我们团队开始实行大小周,也就是说一个月需要多上两天班,而且还没有加班费,即义务加班。本来我就讨厌工作上班打卡,尤其还是指纹打卡,太不方便了。而后来的这种义务加班,我更加是无法忍受的,我就直接给我直属领导和华为的对应主管反馈,争取到没有特殊情况的话,周末我可以不去义务加班。但是好景不长,年底项目进度进展,所以我还是常常会周内、周末加班。最让我记忆犹新的是,临近春节的那几天,我连续两天在公司加班到一两点多了,导致公司的保安把大楼的门都锁了,差点晚上都回不来家了。现在想想那时候,就感觉贼心酸!更可气的是,哪一年年底居然没有年终奖(惊喜状)!

这样的情况实在是煎熬,幸好,那时候和我一起工作的 JB(同事) 还聊的来,每天下午吃完饭一起走走扯扯淡、吐槽吐槽公司。其实,我入职两周的时候就想离开的,因为公司的理念、工作方式、对待员工的行为,真的让我很不适应。然而,到了真的离职的时候,已经快一年了,同事 JB 也去了北京。幸好离职的早,所以找到了现在公司——庖丁科技!不加班,你可以留下吧?入职标配 MBPDell,你可以留下吧?每天都有零食,你可以留下吧?

对将进入外包公司的你说不


以下是一位国外公司长期雇佣外包公司的架构师的一些总结,我认为很有用处:

  • 人员流动
    • 开发人员不是可以替代的商品,你不能简单地用一个人去替代另一个人,然后期望他们同样地工作。我经常看到外包供应商信誓旦旦地断言,他们能够像更换厨房灯泡那样简单地更换程序员。这是一种危险的不称职的信念,表明对软件开发的实际情况有根本的误解。
  • 长期成本
    • 外包软件的质量,不一定能够在项目交付时看出来。通常要花上数月甚至数年的时间,才能意识到你所承担的”技术债务”的成本。供应商开发完软件,将其移交给客户之后,如果客户以后要添加功能,发现代码难以辨认,将花多少钱才能解决?在软件产品生命周期中,长期的成本通常被忽略,因为人们争先恐后地希望立即节省短期成本。我从未见过,外包供应商为项目编写任何单元测试!他们没有自动化测试流程,总是用人工测试确保一切正常。开发人员甚至从未听说过自动化测试这种概念,因为编写额外的代码将花费更多的金钱,一切在他们看来理所当然。所以,外包项目的长期可维护性和成本是可怕的。
  • 核心技术
    • 如果想让外包成功,最好采用混合模式。不是”将所有事情外包”,而是”让我们的人与他们的人一起工作,各自做自己最擅长的事情”。避免依赖外包组织中的个人,比如上文的 Avni,外包行业的人员流动性比一般情况大得多。相反地,应将重点放在让更多人一起参与,如果其中一个离开,你就不会损失太多的项目知识。还可以多应用一些开发工具,比如代码质量检查工具、构建服务、版本管理等等,让工作过程变得更加可预测。
  • 外包选择
    • 不要把小时费率视为外包成功的指标,不要根据报价的高低选择供应商。外包给哪个供应商,通常是由公司内部对软件开发了解最少的人决定的。低报价吸引了他们,只考虑了短期成本和交付条件,没有将长期成本(诸如可维护性,可用性以及安全性之类的因素)考虑在内。因为公司的预算和业务目标总是聚焦在短期,难怪那些掌握资金却不了解技术的人做出了不明智的外包决策。廉价的离岸外包是软件行业的麦当劳。因为需求量很大,外包公司就把软件开发做成了批量生产的产品。但如果你一直吃麦当劳,就不是很好。你最好将外包视为均衡饮食的一部分,做出明智的决定,不要因标价低而盲目选择,不考虑要支付的实际成本。

最后我想说的是,走您嘞,外包公司!

对将进入外包公司的你说不


下面是主要的参考文章的链接地址:


文章作者: Escape
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Escape !