无法避免的
加班,既是管理上的问题,也是经营上的问题,我总结了四个原因:
原因之一:沟通文化缺失,习惯先做后改
中国员工的过度加班,很多都是公司管理能力低下的体现。
如果有客户找中国工程师做东西,对话通常是这样的:
客户(有时是业务部门):“我们这次大概想要一个这样的东西,……(此处略于50字),目前想法还不成熟,你们还有什么问题吗?”
工程师:OK,没问题。
而内心独白却是这样的:你啥都不知道,我问个屁啊。我想就这么这么做,做出来再跟你们谈吧。
结果可想而知,客户看傻眼了,WTF,这是我想要的吗?全部重来。
工作清零,好在此时员工有一点点明白需求了。可时间也所剩无几,对方自然不会因为你搞了个炫酷而无用的东西就给你延长时间,结果必然是——加班。
这并非是单个员工的问题。
假如你有一个程序员同事,你每次提出一个需求,他都会“刨根问底”,把这个需求的祖宗十八代都挖出来,还给你演示过无数的案例,发了N封邮件,可就是不肯动手,你给他一个星期时间,结果他拉着你沟通了六天,最后用一天时候做了个65分的能用的东西,你心里一定把他家亲戚都问候个遍,而他的上司也肯定常常跟他说:
“Tommy啊,你这个样子人家很难跟你配合啊,需求这个东西讲怎么讲得清楚呢?先把东西做出来,大家也好讨论嘛……”
而前面那种拿到需求就无脑加班,搞了个30分的东西就毫无怨言地返工的员工,反而容易获得同事的好评。
不习惯沟通,造成了两个后果:客户或业务人员越来越不愿意讨论需求,程序员的“语言代码”能力也越来越弱,只能用加班工作来代替沟通。
当然“客户不想跟你说话,并向你丢了一堆需求”和“程序员不想跟你说话,并向你丢了一堆代码”的原因,还跟中国的低信任度的商业文化有关。
原因之二:商业信任度低,信奉眼见为实
甲方不相信“沟通”,因为乙方常常用专业来欺骗甲方,甲方不得不信奉眼见为实,喜欢让乙方多做几次给自己挑选的余地,乙方不熬它三天三夜,甲方都觉得你不够负责。
乙方也不相信“沟通”,因为甲方永远说话不算话,沟通下来的需求,明天就能矢口否认。这个功能好好好,那个效果要要要,说得越多,干得越多,最好的办法还是拖到deadline前一天加个大班,时间就这个时间,你不确认也得给老子确认。
双方仅仅在建立基本的信任感上,就投入了大量无效劳动。
原因之三:管理架构的混乱
随着IT企业的规模越来越大,专业化、集权化、流程化等官僚化特征也越来越明显,这跟程序员工作所要求的逻辑性、对新知的渴求、对代码品质的追求,往往是冲突的,直接体现出的,就是
因为管理混乱而造成的无效加班。
包括但不限于:
1、扁平化管理下的人员,加班时间都用在跟老板开会上;传统架构管理下的人员,加班时间都在等候跟老板开会;
2、部门结构复杂的企业,加班都在重复别人做过的事;流程无序的企业,加班是因为白天都在等任务,一到下班工作流程刚好到你这儿;授权混乱的企业,加班是因为莫名其妙地就跳出一个你不认识的人把工作派给你。
3、永远需要加班来处理突发事件,却没有时候梳理正常的业务逻辑,去降低意外事件的发生
不过以上三点原因,其实外企的老外也未必没有,沟通是所有公司都重视的,管理水平是所有公司都希望提高的,无效加班对所有公司都是一种损失。但之所以这个问题在中国特别严重,其最大的原因还是整个竞争环境——
原因之四:发展速度太快,加班成了一种“理性”的选择
我们可以发现,很多“风口上的企业”,营收每个月翻一番,人员半年膨胀十倍,这种情况下,宁可管理混乱,宁可组织无序,宁可给996加班费,甚至宁可内部腐败横行,也不愿“停下你匆忙的脚步”,回头加强管理。
为什么IT互联网企业成为996的集中营?在一个高速发展还有很大空间的市场,占领市场最重要,如果一定先提升管理能力再动手,别人早把市场抢光了。