外包能去吗?项目型公司如何?甲方比乙方好?互联网公司就一定好吗?
  相信许多从业者在经历了3-5年的工作期后都会带着这样的疑问或者疑惑。
  2012年-2014年间,曾经面试过500人,亲身面试的也有150人左右,而真正后来被公司录选后来也证明该侯选人是优秀IT人员的只有“四个”,这个数字不是夸张,是真实存在的,这也是为什么我在13年时连着写了几篇“think inJava高级面试”的道理。
  博客从正式发表至今也有4年多了,期间收到上千封邮件、信函、QQ、微信,自己统计了一下,以下几点问题占交流数量的50%以上。
  先来看几个问题,大家一起也想一下,你有没有碰到过?
  案例一

  来信者A君:你好,我身处的是一家外包型公司,目前我也工作了7年了,个人在技术上一直很希望发展下去,在现在公司我也呆了近4年了,我刚进公司时是中级程序员,现在已经是技术经理了,可是我发觉再往上做发觉无法再做技术了?
  问:为什么呢?是没有冲力了还是有其它原因?
  A君:也不是,因为越往技术上发展,觉得公司越不想用我了。
  问:公司一般都注重人才的,怎么会有这样的事呢?
  A君:不好意思,我没表达清楚,我刚进公司时是中级开发,公司一个月给我9.5K,每年都有升,去年时我工资已经有18K了,可是从去年开始到现在有1年半,公司没有给我再涨过工资了,我自己自学了许多东西,可是公司非旦没有用到我会的一些东西,而且从去年开始把我从一些核心项目中一点点移了出来,因为公司每年的考核首先要看你在项目中的时间,而我有1年多没有在项目上了,因此KPI肯定不好看?
  问:和你领导谈过吗?为什么会这样?是你不合群还是什么其它原因呢?
  A君:唉。。。我也只能自己吃进,怪我不好,我一直认为通过自己的努力是可以得到相应的回报的,其实我心也不黑,外面和我同样水平的都拿到25K了,但在公司时间呆久了也有感情。。。
  案例二

  B君问:我工作9年了,去外面面试,可是面试结果都是说只有初中级水平。。。可是我现在的工资已经是25*14了
  问:这些面试官问的东西,你都能回答吗?
  B君:这样和你说吧,外面做的好的架构师,这些问题都不会去关注的,什么是架构师,他要观注全局,要懂业务,是总设计师,这种细节的也就是刚开始工作2,3年小开发做的。
  问:可是如果一个架构师连这些基本的代码都不能写了,基本的概念都不知道了后,他怎么能做架构师啊?
  B君:这么和你说吧,技术实现上有问题,公司自有高手,基础问题,平时有百度,有GOOGLE
  问:你平时工作内容是什么?
  B君:业务有需求我来设计,画UML,作ER图然后交由开发呀
  问:你不写代码已经有几年了
  B君:这样和你说吧,我做架构师也有3年了,架构师后就不写代码这种低级的东西了
  于是,我不再问了。
  案例三

  C君:你好
  问:你好
  C君:我问侯你全家?
  问:。。。。。。
  C君:我按照你说的做了1年多,然后公司每个项目都不要我了
  问:为什么?
  C君:说我太贵了,项目养不起
  问:这也是理由啊?
  C君:公司卖人头的呀,你工资高了卖不出去了
  案例四

  D君:昨天去讲标了,回来被老板说了
  问:为什么?
  D君:老板说,你把系统设计的这么自动,本来靠后期维护我们有额外3年的收入,现在客户看了你的方案后400万决定做了。。。可是本来我可以多挣400万,1千万的项目被你做成400万,公司要你有什么用呢?你怎么这么没有”商务敏感性呢“,你又不是在搞高精尖,你又不是在搞火箭,你这么喜欢搞技术,你去中科院吧!
  回过头来谈外包、谈项目型公司

  以上4个问题,A、B、C、D君碰到的都是被网友们问了最多的4类问题,这样的问题差不多被问到1000多次。
  1000多次啊。。。。。。
  在1000多次的邮件、QQ、微信中我不可能一一把我知道的答案重复一遍,因此我曾经犹豫过近半年的时间,最终想了一下,我还是把自己IT生涯的一些经历、总结分享出来也算是一种”完美的回答“了吧。
  谈外包与项目型公司的本质

  其实本质就是”成本“二字,我自己也担任过PM,做过销前,做过DM(delivery manager)还创过业,这对于一个一般的技术人员来说是不太可能都具有的经历吧,当然这也和工作年限较长有关。
  当然这段经历时间不长,前后加在一起也不过6年,我倒不觉得这6年时间是浪费的,相反,这是一段宝贵的经历。
  学过PMP的朋友们都知道,PM三要素是什么:“成本”、“质量”、“进度”。 一个好的PM就是在这三者中求平衡。
  可是在12年-16年的经济大潮中,加上国内IT行业极不规范,因此把”成本“提到了一个太高的地步了。
  在乙方型公司时我也面试过许多PM,可以说通过率为0%,为什么这样说,因为他们不知道成本如何计算。
  你的成本是多少?
  一个团队,5个高级,7个初级,1个架构师,1个TEAM LEADER,2个UI人员,2个测试,1个ORACLE DBA做一个项目做了6个月,项目款项是159万,那么在这个项目中担任PM的这位,我会问他如下2个问题:
  你的项目是赢了还是亏了,赢了多少?
  你们的成本是多少?
  就连一些个11年,12年的老鸟都无法精确回答。
  偶尔一次在外面聚会聊天,遇上了两个个以前的同学,一个是DM(Delivery Manager),一个是AM(Account Manager),他们把这个问题回答到了极致。
  一个人是国内著名大型外包公司的DM,另一个是国际上知名500强企业的AM,他们的回答和我的认知是完全一致的。
  于是我很有幸,去了他们的公司和他们的总监甚至副总喝茶聊天同时了解了一下他们公司的经营状况、项目状况。。。。。。啊。。。。。。一切果然如我所总结的那样,秘密就是这么被揭开了。
  无论是外包人头、外包项目还是乙方型公司,它们都需要赢利,要不然公司无法生存,要赢利就要考虑成本,公司把利润分摊到每一个DM的身上,规定,每个项目的GM必须是多少!!!
  什么是GM?
  GM即毛利(GROSS MARGIN),GM=(项目合同款减去项目总成本)除以项目合同款。
  一般外包型人头公司会把GM安排在每个”卖“出去的人员的身上,项目型公司则计算项目总成本。
  一般来说GM指标基本都在15-50%间,如果是卖人头型的公司GM在15-30%左右。
  我们来看一下下面这个表,这是一个真实的项目的GM的计算表格:
   e0f92635922032a580ed244ff5555efd2abf67db.jpg1014x189 50.2 KB


  
  这个项目需要用到如下技术:
  ● ESB接入,ESB产品选型,LEGACY SYSTEM为11个,系统接口总计112个可以分成15种SCHEMA,ESB数据转换涉及XLS, TXT, JSON, WS, HTTPCLIENT
  ● MQ与ESB的协同工作
  ● SPRING MVC + MYBATIS框架
  ● 分布式缓存
  ● 网页支持可拖拽组件
  ● 需要性能测试与符合OWASP TOP10要求的WEB SECURITY规范
  ● SSO登录集成
  按照用好的人,1个人顶2,3个的原因。。。大家可以看到从第一表格的架构师的工资为25,300每个月来看,这样的项目用到这样的架构师,已经属于很便宜了,而测试的薪水并不高,即使是这样。。。。。。项目还是没有达标。
  从上面的技术要求来看,工时已经不能再压了。
  但是还是未达标?
  而实际该项目按照”亏“了的去做,结果还是失败了,失败原因在于这个价格招不到SOA集成架构师水平的人因此用的是TEAM LEADER去顶的,那么最后项目的性能、安全在上线后出现了严重的问题,最终拖累了客户方原来的LEGACY SYSTEM,导致客户上线后下线达5次,最终客户CUT了该项目。
  从上述2个表格来看,不少人要问了?架构师工资明明是25,300一个月呀。。。为什么报给客户会变成了35,208一个人月了呢?
  GM公式中隐藏的人员RATE

  什么是RATE?
  RATE就是你开个公司,水电煤要付吗?房租要付吗?上网费要付吗?员工的五险一金要付吗?公司用车?固定资产?
  你以为这些钱老板会吃进吗?这些都是成本,这就叫RATE,这个RATE一般来说分成以下几档:
  500强企业的RATE会高一些,1.8-2.2甚至2.5,因为它的福利好呀,它的办公室好,它的设备好,它要打点的更多!
  国内一般企业的RATE在1.4-1.6
  二、三级城市会较低,1.1-12
  这个RATE用于覆盖(cover)上述这些繁琐的系数。
  那么每一个人的成本就能够计算而知了,做为DM(不是PM哦)在做一个项目时:
  会先知道当前公司在今年的RATE系数
  把每个人的月工资乘以该系数
  把乘出来的积除以21.75或者是20.5即可得出每个项目成员(resource)的“人天数”了。
  把人天数乘以项目总计需要这个resource参于的天数即是单个resource在此项目中的总成本。
  当然,项目的项目还需要加上出差预算、team building预算等等等。。。得出一个较为精确的COST。
  缩减成本法-通过缩减人员工资用”低“的人去顶高级别

  我们回过头来来看第一张表格,如果作为DM,如何在合同金额不变的条件下来提高你的GM
  
  我们可以看到,对于一些中小型公司来说,它请一个架构师,2万5的月薪,它会觉得高,因此它在招架构师时会控制在2万左右。
  那么这个成本一下子就可以缩下去: (20,000*1.8)/21.75*36=59,586元
  高级开发22,000也贵了,我架构师也20,000,给17,000一个人吧,因此这块又省了(17,000*1.8)/21.75*58*2=163,200
  测试我要这么好干什么? 12000一个月已经算多了,因此这块又省了(12,000*1.8)/21.75*40=39,724
  前后一共省了就达:59,586+163,200+39,724=262,510元
  缩减成本法-通过降低自身公司的经营开支

  上述缩减,50%的企业都在这么干,我们也看到了一些结果,即因为使用了较”低“级别的人去顶较高级别的活,导致了工程的质量不怎么过关,这也是为什么国内IT公司上线前喜欢”拜雍正“的原因。
  
  但是也有不少”开明“的公司,它会去通过降低自身的经营成本来降低这个RATE,比如说:
  可以把办公室不要租在市中心啦(上海张江就是这么来的)。
  可以设备上考虑复用性啦。
  可以降低一下公司用车或者不要买车了。
  老板少挣点。
  之类的,于是,把RATE调到1.63, 1.6,甚至 1.4
  回过头来看我的那篇”IT企业七宗罪“里所讲的,当客户方项目合同数定的情况下, 看谁的出价低,我把它叫”血拼“, 拼的也就是”成本“二字。
  缩减成本法-通过降低员工福利

  交个镇保好不好啦?
  5险一金按照最低系数交可以吗?
  一个月工资分成2次发?
  这也可以降低RATE。
  三包

  更有甚者,采用”三包“,即甲包给乙做,乙再给丙做,丙出人把东西做好给到乙,乙再交付给客户。
  三包其实和”缩减成本法-通过降低员工福利“如出一撤,因为乙可能是一个要面子的公司(这样的公司还讲面子?我也只能呵呵了),而丙可能只是一个私人民营小企业,他们自己也没什么办公场所的问题的,也不需要有水电煤什么开销的。
  直接招了人让去乙方ONSITE工作,每个月只要发工资就可以了,因此。。。我们国内还存在着不少的”IT项目三包“现象。
  对于三包行为,我们是要严历声讨和制止的,因为它不仅仅是损害着项目交付质量,更要命的是它在折磨着我们的程序员们。
  解决A君、B君、C君、D君的困惑

  看着这张表,我们可以解答上面A、B、C、D 四个网友们的困惑了。
   2d26c04936cfb32ebd98110f3faaaf0b90726808.jpg1024x188 53.1 KB


  首先,我们来说,为什么学了越多,却得不到越多,反而最后没出路了?
对于IT人员来说,知识即是财富,每天让我最最最最开心的事情莫过于今天我又知道了一个新的理念,今天我又学到了一个新的技术。
  为什么?
  因为这些东西学着,可能在1个月,2个月,半年里对你是没有任何”价值“的,它即不能带来一顿满汉全席,也不能带来一辆法拉利跑车,可是在将来的某一天。。。它会对你的事业起到关键性的作用。
  当然这个某一天,我们转成”普通话“来说: 就是每年在收入上可以有一些涨幅,心平点的人来说每两年涨个一次对吧,工资是不是可以再上去个15%-20%?
  程序员靠的是技术、手艺吃饭!程序员是单纯的,他们希望通过自身的努力去获得!
  因此对于程序员来说,自学奋进是没有错的。
  但是基于目前国内IT太多不正规,导致了许多的普遍乱象,比如说你在一家公司里,你的技能达到”一支独秀“,”鹤立鸡群“的地步时。。。此时,你真的反而要担心自己的生存问题了。
  因为你的水平高,你的技术高,因此。。。你的RATE也高。
  拿一个B2B的架构师来说,在乙方型公司,25,000的月薪,其实算很低了,可是它如果按照上海市的平均水平去乘以一个RATE,按1.6来计算对客户的报价就是多少人月?
  25,000*1.6=40,000。
  好,我们说,这个不算高,甚至属于中等水平,那么我们如果要招一个真正的,好的,技术、眼界、能敲代码的有实点经验的架构师,基本水平在28,000-30,000,那么你此时对客户的报价是多少?
  30,000*1.6=4.8万。
  如果你的项目是B2C或者是一些好点的公司,一个架构师的月薪会达到3万以上,3万2吧我们算,再乘以1.6,那么好的公司它的RATE也不会只有1.6,算1.8,我们没有算2.0,其实很多500强或者是千强内的公司的RATE都保持在2.0.
  3万2乘以1.8=57600,天哪。。。5.76万。。。甲方拿到报价一看,直接先把这一档给砍下去。。。
  甲方会说:”我有病啊,花一个月5.76万请一个人来,我还不如一个月花3万块钱自己去招一个人都比你们提供的这个要强了不知道多少呢?”
  GM公司限制下,你觉得你的技术能做到几岁?能做到什么程度?
  OK,于是,你技能越好,工资不一定拿得到最高,因为对于你目前的公司来说,你已经拿得很高了(乘1.8后),因此,如果项目总金额(一般公司会有一个这样的规定)不达到100万以上,架构师,或者甚至是高级开发是不会轻易用的。。。。。。我这边指的架构师和高级开发是真正的符合我的think in java interview里要求的哦,这样的人是不可以进入项目的。
  如果PM要把这些人纳入项目(involve into this project),需要自己cover他们的成本。
  于是,在许许多多的公司,技术越高,水平越好,反而越进不了项目,进不了项目有什么危害?进不了项目你的“利用率(UTILIZATION RATE-UR)”会很低。一般公司会把UR控制在80%以上。
  如果你全年的UR很低,如果你的UR不足50%。。。。。。
  对不起,A君、C君、D君的事情就会发生在你的头上,这样的案例已经数不甚数了,太多太多,10个人里有5个碰到过这样的事。
  开发工程师->高级开发工程师->Technical Leader->Architect->Senior Architect->Chief Architect->Principal Architect,嘿嘿。。。这条路不好走。
  所以,太多太多我们的程序员在Technical Leader或者甚至在高级开发工程师后。。。转入了PM。
  那么PM一做做个3,4年后,除非你能接触到我上面提到过的GM公式,要不然你永远不知道成本,永远会被公司指着鼻子骂,当你把成本、质量、进度放在心里时,此时你也距离“死”。。。也不远了。
  因为你没有真正的为公司创造出财富,因此真正的在乙方型公司做PM,一定一定牢记GM公式。
  那么好。。。你选择了做PM或者是DM,下一步你的发展目标呢?
  你必须为自己争取良好的GM,你必须为下面的兄弟谋活路,但是PM, DM还是有他们的限制的。
  公司如果项目就这么点,你再怎么在PM三要素间去平衡也没有用啦。。。你也还是在UR(利用率)的世界里作循环。
  要想脱离UR世界。。。你必须变成AM,OK,Account Manager,你成了AM,从此不用再计算你的UR了,哈哈。。。很HAPPY, it's a day wonderful day 将要来临。。。可是公司永远以经营以利润为生存目标的。
  AM没有了UR,但是换之而来的是他会有一项更可怕的东西背到了身上!
  是什么呢? Revenue。。。全年收入指标。。。。。。即你现在开始啊,每年你的为公司创收的目标会递增了,比如说今年你要完成1000万,明年你要完成2000万。
  甚至,AM的工资收入反而没有搞技术的人稳定了,他们往往会被分成基本收入,达标后的收入此二项。
  当然,因为为公司创造财富了,因此他们的奖金,是不菲的。
  但是,读者们觉得。。。一年压个几千万的指标,嘿嘿。。。有多少人真的能够5年,6年,7年这样达标下去吗?当过了5年你回过头来看你的Revenue已经达到了上亿。。。此时估计你连想死的心都有了。
  完不成,你的豪宅,豪车的贷款怎么办?哎呀。。。简直由如地狱。
  那就多开发点新客户吧?
  IT人员转销售去开发新客户

  好吧,去做了AM,开始背指标了,于是开始转型做了销售,嘿嘿。。。马化腾不也是从首席架构师去做了运营吗?
  于是乎,从宅男开始变成了西装笔挺,人模人样的销售了。
  多接点单子不就能解决企业成本高的问题了吗?
  呵呵。。。
  单子有这么好接吗?
不要把理想当成饭,不要把理想带到残酷的现实生活中去。
  经常考PM的有一道题 :
  某企业是你们长期合作合伴,有一天客户方CIO突然找你,告诉你本来已经签好的意向的一个合同突然要削减一半预算,出于对团队绩效、项目质量的出发点,这个单子你做为AM做?还是不做?
  这种事情太多了。
  白天在客户方如舌战群雄一样的竞好标,晚上陪着客户去夜店吃饭唱歌搓澡和喝酒。
  哎哟。。。我们可怜的AM,有一次有一个AM和我说,他拿下了一个400万的单子,但是喝酒喝到了酒精中毒被送到了医院,他说他这一晚把这一辈子喝的酒都喝完了。
  大甲方客方是有钱啊,可是有钱,人家会给你烧吗?
  不要以为IT很来钱,IT项目更有钱,动不动就几千万,上亿!
  呵呵,那是神话,那是传说,我们这些凡人是碰不到的。而经常碰到的是我们不能想像的一些黑暗面。
  为了一个百万级的单子,客户会告诉你,他要拿多少回扣,一般外面行规一般都是在10-20%,如果数额大的单还会更多回扣。
  某客户找到你:“哎哟。。。你看看人家的报价,只有你们的一半,这这这,基于长期合作考虑,希望贵方能够回去重新报个价过来。”
  好家伙,真有单纯 的从开发转AM的哥们回家把这个数字改小的。。。。。。
  可是。。。呵呵,如果你把这个数字改少了,你在打标时许诺给客户的那支技术团队的配置是不是还能用得起这么高呢?你的兄弟们的KPI怎么保证?
  其实上面这还不是最致命的,最致命的是。。。请问,你都没得赚了?客户赚什么?呵呵!这一层有没有想到过呢?
  百万级的单子都这么难,千万级的将会更难,客户甚至会向你提出要求。。。。。。,到时你能拿得出来?
  接单子这么简单吗?
  不错啊,现在讲究企业信息化建设。
  可是多少是在真正的为信息化建设在作项目的?
  再回过头来说,你提的方案越是自动化,自动化监控,自动化报警,自动化运维 ,自动化业务流程。。。好家伙,停停停,打住,这样一个项目几百万至1000万,嗯,可是,这点钱连你所在的公司烧一年都不够的,等这个方案客户接受了。。。你回去就会被炒鱿鱼!
  为什么?
  简单,本来可以分成几期作的,你因为学识面广,你因为能力强,你因为知道的东西太先进了,把项目楞是给做成了一期了。。。。。。你说你不死谁死?
  天天晚上犬马声色!
  天天晚上灯红酒绿!
  客户所在城市和你所在城市的那些个夜店的妈妈桑的名片和联系方式可能就能放满一抽屉。。。
  纸醉金迷
  花天酒地
  好不开心
  眼看着销售费用已经出去6位数了,你连一个7位数的单都拿不到。。。。。。
  这就是一个AM的平凡的普通的生活。所以他也决定了你们所在公司的项目的类型。。。。。。项目项目,能上线就完了,要快,要便宜。。。做个9年,就如同B君所述那样了。
  保持一颗知足的心

  经过上面这么一个循环,大家在择业上应该注意什么?从业后应该怎么去适应,一些潜规则以及为什么我都说透了。
  关键在于我们的心态,因为我在这边并不是强调传统乙方形公司不好,互联网什么的就是好,以下这个心态是一种适用一切环境的心态:
  即,你我都是凡人,凡人就要保持着一颗凡人的心态,成功的定义不是暴富,比如说你昨天想着明天要吃碗豆腐花,然后第二天你起早点喝上一碗热热的豆花,这就是“成功了”。
  能力一定一定并且永远要>你的收入

  此处没有等于,只有大于,一定记得这个公式。
  但是。。。你又要保持着精英的思维,奋发的斗志,只有这样,你才会去适应你所在的环境、去热爱你所选择的事业。
  因为,很多时候,收入是次要的,关键要看你的能力,你的潜力,看你“学力-学习能力,以及一家企业是否可以给到你足够的发展空间?
  什么叫发展空间?
  就是你每年的能力在长,你在这个企业的无论是收入。。。地位等等等也能够给到你相应的增长。
  而一个人从标准的大学毕业到退休我们说是从23岁到65岁吧,有40年的光境是在工作的,那你身处的这家企业能够给到你几年的发展光境呢?
  所以择业时我们要去积极的了解这个企业的文化、底蕴、内含、它的价值观、它的发展前景,而不是去更多的只关心:给我多少钱?
  要知道,给你一个月10万,你只能能拿1年,出来后连个高级开发都不如(因为在这一年里你人会直接废点),和给你每个月3万,你能拿20年。。。你自己去比较一下看看。
  当然,对于三包和血汗外包,我们是要严厉声斥和制止的,也请大家在择业时要学会勇敢的说:NO。。。