再见,外包

        去年10月份,从干了六年的上家离职后进了外包。入职的公司是拓保,甲方是安信。时至今日,外包也干了8个多月了。

        问我为什么来外包?当时没有什么目标只是想换个地方。然后,这个外包的HR很热情,笔试面试的内容我恰好会。而且,HR还让我讲价。当时想出来看看,就答应了。后续的体验证明,外包公司的人事工作人员真的很好。不管是工作中有什么需求还是励志,交付都非常的礼貌且积极处理。

        刚来的时候担惊受怕的过了半个月。一过来领导就给我发了一本书,让我自己学习,没安排任何活。由于外包,随时可能被释放(没有赔偿的裁员),就怕自己没干活,对甲方没有用处,然后被释放了。

        之后开始干活,一堆代码,一个需求文档,然后一个人干一个功能。我过来主要是做ONEQUANT系统,一个高端客户(企业客户)的证券交易系统。这个系统用很神(qi)奇(pa)的实现方式:一个dll,内置几百个页面,用MFC实现前端效果。没错,我就负责用MFC实现前端效果。来这里之前,打死我都不相信会有人用MFC来做前端,也不会相信我有一天会做前端。没有轻视前端的意思,只是那该死的心理,让我觉得,我应该做高大上(qian duo)的后端。

         开始,这个团队有前端、后端和测试,用的瀑布流开发方式。其中前端有好几个外包,专门画皮(我就是画师本人)。基本是一个个版本来,一个版本的需求下来,大家分着做,做完一个版本就做下个版本。前端、后端测试都是分开在搞,经常有测试提bug,然后大群里找相关人员一起处理。后面甲方引入了敏捷开发,把前后端和测试抓一起,一个版本,一起做,全部做完才算一个版本结束。不得不说敏捷开发是有他的优势的,每天站会有任何问题都能及时得到处理。虽然最开始的时候,每天说冲刺冲刺冲刺,整得大家神经紧张。后面习惯了,没了那种紧张的气氛,其实觉得敏捷开发确实是一种好的方式。最后我们团队还被公司评为最符合CMMI流程的团队,还发了奖品。

        以前的工作中,比较注重流程和算法,对前端几乎没有要求,能用就行,甚至有的效果很丑也不要紧。来了这边之后让我做前端页面,讲真,有点折磨人。像素点一个个扣显示定位,显示上不能有任何偏差。而且我们是普通屏,内部人员是高分屏,有任何没处理好的地方,领导一看就特别明显。实现中每一个控件都是内部写好或者自己现写的,一个个图片绘制,一个个框绘制,一个个文字绘制和一个个效果实现及每一个操作效果都是代码堆叠起来的。这里非常认同一句话,C++需要自己做做轮子。C#只需要一个函数搞定的xls导出,在C++里面需要引用一个第三方库还得自己写导出逻辑代码。印象最深刻的是我做的第一个控件,一个下拉框按钮(就是一个有按钮显示效果的下拉框),改了十几次。按钮上图片文字都是绘上去的,文字显示有点点偏差,领导屏幕上就特别明显,自己这里看上去没有问题或者差异非常细微。然后,鼠标经过的变色效果要在动作绘制函数里面做处理,修改底色和图片才能实现。按钮点击后,是出现一个下拉框。下拉框点击后,以一种特殊的消息机制上送再做响应。下拉框还是代码一个一个选项绘制出来的,想哭。

        强烈想吐槽的还有一个设计,一个复选组合框,还带禁用效果。这个设计对于用户看起来是很好用的,但是对于前端就不友好了。勾选有3种状态,加上禁用,每个选项的勾选图标就有6个,也就是6种效果。鼠标点击勾选图标的时候切换勾选效果,点击文字的时候,需要切换相关页面。鼠标经过文字或者点击选中文字的时候,文字颜色还需要修改。而且勾选框之间还有逻辑关系。还有其他页面的显示或者操作逻辑关系。就这个复选框效果,我写了删删了写整整折腾了2天。当然,这是我独自做的第一个控件组效果,做的比较慢,如果熟练的话,一天也能做完的。虽然代码量不大,只有几百行,但是逻辑性很强,比较烧脑。

        比较爽的是,这里对STL的应用很多,以前学这个花了很多时间,这里终于用上了,而且是酣畅淋漓的感觉。实现上不爽的就是,不知道是为了保持代码风格一致还是部分人员不适应写法,他们对我禁用C++11。刚学的技术,觉得很好用,被禁止,真的很纠结。每次忍不住写了,然后又改掉才敢签入代码。一行代码实现的问题,硬是要改成好几行来实现。

      总体而言,这个开发团队还是很好的。虽然外包人员中交流比较少,感情比较浅。可能是因为我是女娃子(其他全是男开发),而且形象不佳又已婚已育,不是可撩对象。而且大家任务相对独立,交流也不多。大家也来自不同的外包公司,相互之间也没有利益关系。相比之下,我和内部人员的关系比较近。我离职的消息公开的时候,内部人员都表示很惊讶也很可惜,然后也为我不再做外包表示祝贺。日常设计和开发中可以感觉到,有很多同事是很优秀的,心悦诚服的那种。他们外在气质好,开发(测试)技术好,而且交流中性格和情商也很高。

        离开的原因有很多,主要原因还是外包话语权低。明知道需求不合理,提出来,仍然可能被驳回,只能按照要求来做,并且做好标记,方便后续要求修改的时候定位。然后很多代码对我们保密,有的是控件相关的,出现莫名其妙的bug的时候只能自己想,找内部人员次数多了也不好。还有就是工作内容基本是搬砖,技术含量不高,也不涉及可复用的(换工作后在同行中可用)的业务知识。虽然在这里每天朝九晚六,极少加班,加班还可以调休。而且补班日都休息,假白送钱照发,外包公司还经常发吃的和不错的节日福利。

        然后就是个人原因,过来的时候为了能换个环境,用了很大的勇气。上班的地方和住的地方很远,交通不方便。每天上班要先打的,后地铁,转一次地铁后再步行一公里左右才能到达目的地。如此通勤,每天耗时3小时左右,费用达40+。当然,第一段打的,可以改成骑自行车,我刚入职的时候就是这样做的。但是体能不足且身体不好的我,两周下来差点放弃工作。每天晚上到家后的状态就是,苟延残喘,活不下去的那种。虽然工作内容比较轻松,压力也不大。但是每天上班路上让我疲惫,晚上到家更是精疲力尽。

        其次就是工作方向,MFC这个技术在业内是属于过气的技术,现在很少有公司以此为主流且做前端开发。也就是说,下一份工作如果以此为基础,将机会非常少。而且这门技术,在我手上,只能占百分之二十(上家公司离职文中有提到),我的拿手技术是加密算法运用及设备驱动开发。有个老同事找我说让我过去他那边做加密算法方面的工作,这是非常有吸引力的。做自己擅长的事,那怕难度加大也是让人很心动的。

        最后是待遇的问题,在市面上找个MFC(C++)的外包耗费不高,找个做加密算法的待遇要求会高些。这是行业影响,做不同行业,待遇是有区别。做加密确实可以带来更高的收入。

        工作环境问题也要吐槽下,外包的办公室非常的拥挤。一个办工桌安排两个人办公,基本滑动鼠标幅度大点都会影响到旁边同事。午睡只能趴桌子上,没有地方可以放午休床,这点对于干久了腰不太好的人是个大挑战。并且外包人员的网络权限非常低,PC上登不了微信,QQ也不许传文件。项目组喜欢微信沟通,我们只能手机登录微信时不时盯下。版本的需求澄清经常不通知外包人员参加,需求改动也不通知。最后需求改动部分都被测试人员以bug的形式“通知”下来,这是我不能忍受的。作为一名开发人员,bug,那就是我做的不够好才会出现。需求变动没做通知,最后提bug过来,内心是爆炸的。

        外包更多的是简单的工作,日复一日的搬砖,既不涉及核心技术,也不涉及核心业务,都是外围的工作。比较舒服的外包工作,用来修养生息是不错的选择,可以作为中转处(这样对甲方公司可能不太有利)。但是不适合长期的发展,呆久了整个人都会散漫,这来自人的惰性。而且外包这个身份是没有保障的,随时被裁还没赔偿,干活低级没话语权。浅尝辄止,可以体验下但是不适合长期发展。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值