潜谈IT从业人员在传统IT和互联网之间的择业问题(上)-传统乙方形公司
外包能去吗?项目型公司如何?甲方比乙方好?互联网公司就一定好吗?
相信许多从业者在经历了3-5年的工作期后都会带着这样的疑问或者疑惑。
2012年-2014年间,曾经面试过500人,亲身面试的也有150人左右,而真正后来被公司录选后来也证明该侯选人是优秀IT人员的只有“四个”,这个数字不是夸张,是真实存在的,这也是为什么我在13年时连着写了几篇“think in Java高级面试”的道理。
博客从正式发表至今也有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君:公司卖人头的呀,你工资高了卖不出去了
案例4
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公式
GM即毛利(GROSS MARGIN),GM=(项目合同款减去项目总成本)除以项目合同款。
一般外包型人头公司会把GM安排在每个”卖“出去的人员的身上,项目型公司则计算项目总成本。
一般来说GM指标基本都在15-50%间,如果是卖人头型的公司GM在15-30%左右。
我们来看一下下面这个表,这是一个真实的项目的GM的计算表格:
这个项目需要用到如下技术:
- ESB接入,ESB产品选型,LEGACY SYSTEM为11个,系统接口总计112个可以分成15种SCHEMA,ESB数据转换涉及XLS, TXT, JSON, WS, HTTPCLIENT
- MQ与ESB的协同工作
- SPRING MVC + MYBATIS框架
- 分布式缓存
- 网页支持可拖拽组件
- 需要性能测试与符合OWASP TOP10要求的WEB SECURITY规范
- SSO登录集成
GM公式中隐藏的人员RATE
什么是RATE?RATE就是你开个公司,水电煤要付吗?房租要付吗?上网费要付吗?员工的五险一金要付吗?公司用车?固定资产?
你以为这些钱老板会吃进吗?这些都是成本,这就叫RATE,这个RATE一般来说分成以下几档:
- 500强企业的RATE会高一些,1.8-2.2甚至2.5,因为它的福利好呀,它的办公室好,它的设备好,它要打点的更多!
- 国内一般企业的RATE在1.4-1.6
- 二、三级城市会较低,1.1-12
- 会先知道当前公司在今年的RATE系数
- 把每个人的月工资乘以该系数
- 把乘出来的积除以21.75或者是20.5即可得出每个项目成员(resource)的”人天数“了
- 把人天数乘以项目总计需要这个resource参于的天数即是单个resource在此项目中的总成本
缩减成本法-通过缩减人员工资用”低“的人去顶高级别
缩减成本法-通过降低自身公司的经营开支
缩减成本法-通过降低员工福利
交个镇保好不好啦?
5险一金按照最低系数交可以吗?
一个月工资分成2次发?
这也可以降低RATE。
三包
更有甚者,采用”三包“,即甲包给乙做,乙再给丙做,丙出人把东西做好给到乙,乙再交付给客户。
三包其实和”缩减成本法-通过降低员工福利“如出一撤,因为乙可能是一个要面子的公司(这样的公司还讲面子?我也只能呵呵了),而丙可能只是一个私人民营小企业,他们自己也没什么办公场所的问题的,也不需要有水电煤什么开销的。
直接招了人让去乙方ONSITE工作,每个月只要发工资就可以了,因此。。。我们国内还存在着不少的”IT项目三包“现象。
对于三包行为,我们是要严历声讨和制止的,因为它不仅仅是损害着项目交付质量,更要命的是它在折磨着我们的程序员们。
解决A君、B君、C君、D君的困惑
看着这张表,我们可以解答上面A、B、C、D 四个网友们的困惑了。
首先,我们来说,为什么学了越多,却得不到越多,反而最后没出路了?
对于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人员转销售去开发新客户
单子有这么好接吗?
保持一颗知足的心
经过上面这么一个循环,大家在择业上应该注意什么?从业后应该怎么去适应,一些潜规则以及为什么我都说透了。
关键在于我们的心态,因为我在这边并不是强调传统乙方形公司不好,互联网什么的就是好,以下这个心态是一种适用一切环境的心态:
即,你我都是凡人,凡人就要保持着一颗凡人的心态,成功的定义不是暴富,比如说你昨天想着明天要吃碗豆腐花,然后第二天你起早点喝上一碗热热的豆花,这就是“成功了”。
能力一定一定并且永远要>你的收入
此处没有等于,只有大于,一定记得这个公式。
但是。。。你又要保持着精英的思维,奋发的斗志,只有这样,你才会去适应你所在的环境、去热爱你所选择的事业。
因为,很多时候,收入是次要的,关键要看你的能力,你的潜力,看你“学力-学习能力,以及一家企业是否可以给到你足够的发展空间?
什么叫发展空间?
就是你每年的能力在长,你在这个企业的无论是收入。。。地位等等等也能够给到你相应的增长。
而一个人从标准的大学毕业到退休我们说是从23岁到65岁吧,有40年的光境是在工作的,那你身处的这家企业能够给到你几年的发展光境呢?
所以择业时我们要去积极的了解这个企业的文化、底蕴、内含、它的价值观、它的发展前景,而不是去更多的只关心:给我多少钱?
要知道,给你一个月10万,你只能能拿1年,出来后连个高级开发都不如(因为在这一年里你人会直接废点),和给你每个月3万,你能拿20年。。。你自己去比较一下看看。
当然,对于三包和血汗外包,我们是要严厉声斥和制止的,也请大家在择业时要学会勇敢的说:NO。。。
潜谈IT从业人员在传统IT和互联网之间的择业问题(上)-传统乙方形公司的更多相关文章
- 潜谈IT从业人员在传统IT和互联网之间的择业问题(下)-互联网公司
互联网带来的一片晴天 相对于传统行业来说,互联网行业要显得相对对技术人员尊重些. 在互联网行业中,采用的技术.概念也较传统形行业来说要新,技术人员也容易在此找到自己的一方净土. 因为互联网这个行当讲究 ...
- 作为从业人员,如果一定要学一门新的编程语言,那么它一定是c++
作为从业人员,如果一定要学一门新的编程语言,那么它一定是c++. 无论各种编程语言排行榜如何变化,什么语言最赚钱,想成为真正的程序员,那么c/c++是必修课,因为几乎所有的底层都是c/c++编写的,各 ...
- SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?
刚刚过去的在巴塞罗那举行的2019 SAP TechEd,SAP照例向全球广大的SAP生态圈从业者们传达了一些重要的信息,其中一条为:Building Extensions for the Intel ...
- 作为一名SAP从业人员,需要专门学习数学么
最近和SAP成都研究院的开发同事聊到过这个话题,Jerry来说说自己的看法. 先回忆回忆自己本科和研究生学过的数学课程.Jerry的大一生活是在电子科技大学的九里堤校区度过的,本科第一门数学课就是微积 ...
- Java 领域从传统行业向互联网转型你必须知道的事儿
我为什么要写这篇文章 武林中,"天下武功出少林"指各门各派的武功都与少林武学有一定的渊源,技术也是相同的道理,对于Java领域的应用而言,传统行业与互联网行业的技术都来自J2SE和 ...
- 标 题: [心得]传统IT转互联网面试经验分享
发信人: lgonnet (逃之夭夭), 信区: Java标 题: [心得]传统IT转互联网面试经验分享发信站: 水木社区 (Wed Jul 1 10:18:38 2015), 站内 统一回复一下 ...
- IT从业人员必看的十几个论坛
IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多,往哪里去,新浪论坛,网易是经常去的,人多啊,好几十万,去了以后才发现没有意思,没有共同的语言,于是逛专 ...
- IT从业人员必看的10个论坛(转)
IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多,往哪里去,新浪论坛,网易是经常去的,人多啊,好几十万,去了以后才发现没有意思,没有共同的语言,于是逛专 ...
- IT从业人员关注哪些问题
技术人员关注的问题非常多,但常见的至少有以下6种.特此整理,抓住核心问题,解决它. 一个人的精力和时间往往非常有限,能把核心问题都解决到位就是成功. 1.职业规划 大家从读小学开始,就是在为职业规划过 ...
随机推荐
- 使用控制台调试WinForm窗体程序
.程序代码结构 .Win32DebuggerHelper.cs using System.Runtime.InteropServices; /* TODO:使用方法 Win32.AllocConsol ...
- [LeetCode] Second Minimum Node In a Binary Tree 二叉树中第二小的结点
Given a non-empty special binary tree consisting of nodes with the non-negative value, where each no ...
- js高阶函数应用—函数柯里化和反柯里化
在Lambda演算(一套数理逻辑的形式系统,具体我也没深入研究过)中有个小技巧:假如一个函数只能收一个参数,那么这个函数怎么实现加法呢,因为高阶函数是可以当参数传递和返回值的,所以问题就简化为:写一个 ...
- 【Swfit】Swift与OC两种语法写单例的区别
Swift与OC两种语法写单例的区别 例如写一个NetworkTools的单例 (1)OC写单例 + (instancetype)sharedNetworkTools { static id inst ...
- Idea导入多个maven项目到同一目录下
目标 简单导入多个maven项目进入同一个project(相当于eclipse的workspace) 过程 1.新建一个目录作为仿eclipse的workspace,这里起名为idea-workspa ...
- 如何理解java是一个面向对象的语言?(转自Hollis的直面java)
要想理解这个问题?需要考虑很多 1.什么是面向对象 把问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象.通过不同对象之间的调用,组合解决问题,也就是说,在面向对象的编程中,要把属性,行为等封 ...
- vue插件移动框
npm i dragablemodel -S(安装插件) import dragablemodel from 'dragablemodel' Vue.use(loading) 模板(组件) <d ...
- [CODEVS 1288]埃及分数
Description 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/ ...
- bzoj4919 [Lydsy1706月赛]大根堆
Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你需要选择尽可能多的节点,满足大根堆的性质: ...
- [SCOI2009]生日快乐
Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括windy ,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的 ...