你的加班有价值吗?

今年一直在忙公司产品的事情,压力比较大,工作强度也比较大,不夸张的说,今年加的班应该比整个职业生涯加起来还多,所以也有了些思考和想法。

相信各行各业多多少少都会有加班的情况,在IT行业加班更是家常便饭。我在面试的时候,有些同学会问我公司加班的情况,我通常会这么回答:

  • 能力不足,安排一天的事情,在下班前不能完成,需要加班来完成;
  • 项目或产品交付时间比较紧,需要每个人做更多的事情来保证进度,因而需要加班。

但实际上,加班每个人的理解和心态都不一样,也可以分为很多种类型。

加班的类型

主动加班

主动型加班常见于刚毕业走上工作岗位的新兵蛋子,常常一个人无牵无挂,一人吃饱全家不饿,下班后继续奋战到九十点钟,可能是当天未完成的工作,也可能是学习自己感兴趣的技术。吹着空调,享受着下班后飞快的网速,键盘上手指如飞,一行行优美的代码在屏幕上呈现。这种加班的过程是享受的,一个对技术热爱的开发人员应该都会经历这个阶段。

如果您才刚刚毕业,如果您对技术很热爱,如果您的公司条件允许,那么多给一些自己这样的班加吧。毕业后头三年往往是知识积累、技术成长的黄金时期,因为往后生活中的各种琐事会占据你大量的时间,常常都是心有余而力不足。

严格来说,这种主动的加班不光是可以在业余时间学习到一些专业技能,更重要的是将主动变成一种习惯,这种习惯会受益于你整个职业生涯。

被动加班

我曾经工作过的M公司,算是一个中大型公司,有很严格的KPI考核制度,每次晚上九十点钟经过公司楼下,都可以看到四层楼灯火通明,大量为了KPI而奋斗的程序员还在工位上辛勤地编写着代码。或许他们对正在写的东西并没有那么大的兴趣,仅仅只是为了可能会多一点的绩效工资,甚至只是为了不被淘汰。

随着自己技能的成长、对业务的熟悉,慢慢这种加班会越来越少,你成为了团队中的主力,负责更重要的工作任务,相应的也会承担更多的责任,团队的新手也会步入你的后尘,晚上九十点钟,公司大楼依旧灯火通明。

这是一种过程、一种历练、能挺过去就犹如涅槃重生,羽翼更丰、技能更强。但往往很多人选择了逃避,逃避的人永远都活在自己的舒适区,这种人无法承担重要的任务,终将被淘汰。

虽然很多时候都是被动在加班,但我们是否能将被动变为主动,像经营一家企业一样来经营自己,使自己变得越来越强。

为「领导」而加班

有一种加班叫为了领导而加班,公司有一种莫名的加班文化,下班后即使没事,也要继续「工作」一两个小时,有的上着网,有的打着游戏,为的就是在领导面前混个「加班」的印象。如果领导是按照这种主观的印象来给员工打分的话,这种工作还是远离的好。很幸运,我工作10几年年还未碰到这种公司。

这种领导通常不懂技术,也不懂开发人员的价值,深夜看见办公室依然灯火通明就感觉心里很踏实,看见员工准点下班心里就感觉很恐慌和焦虑,这种领导很可悲,也很无能。

为「金钱」而加班

最近在一前公司的离职群里有人发消息说新公司推出了加班政策:

每月加班时长前10名,分别给10k……1k的奖金;
平均加班时长最长的组团队额外有5k奖金。

我前同事一个月加班226个小时,居然还没挤进前十,竞争之激烈令人发指,这种加班除了能得到一些眼前利益外,对个人成长没有任何好处,何况还不一定能得到,即使能让收入有所增加,长期下去,身体也搞垮了。这种类型的加班坚决不提倡。

加班正确的姿势

我个人对加班是持反对意见的,特别在IT行业,我认为写程序是脑力劳动,而非劳动密集型,靠加班只能是比别人跑的快,但不一定能跑的好。但现实是残酷的,项目上线时间永远都很紧张,产品可能每周都需要迭代发布,上线后又会面临各种意见反馈。就这样周而复始,我们也就陷入了加班的泥潭。

马拉松的比赛起跑枪声一响,一些没有经验的选手往往会很兴奋,加上跑到两旁热情市民的加油,很容易就跑快了,这样在后半程往往很难坚持。即便是1500米这种中长跑也讲究跟跑、呼吸节奏等各种方法,并不是一上来就开始冲刺。工作中也是一样,为了一个演示,加班加点的完成了功能,演示过后就应当慢下来,技术债该还还是得还。

有的管理者提倡在团队中加班一起加,因为是一个团队嘛,这样团队更有凝聚力;有的管理者提倡事情先做完可以先下班,这样可以更好的激励大家高效完成任务。两种方式都没有问题,但得分情况,如果任务能够很好的量化,可以采用第二种,大家都很公平,即便别人先下班了,只能证明别人能力比你强,你加油努力就是了。但能做好任务量化的公司不是很多,至少我没有见到过很多,所以大家还是习惯加班一起加,下班一起下。

如果任务不能很好的量化,分配任务就不可能每个人都那么恰到好处,经常会出现某几个人任务没做完,其余人是一种等待的状态,在这个等待的过程中,会去做一些自己的私事,而不会接着做第二天的任务。心里可能还会想着明明自己当前的事情完成了,为什么不能下班?所以在一些加班的日子里,我会经常说一个小目标,可能是解决一个技术难题,可能是合作完成一个小功能,目标完成就下班,这样大家都挺能接受,积极性也很高。

在加班等待的时间里,可以不去做第二天的任务,但还有很多事可以做,比如:

  • 偿还技术债,想想自己写过的代码中还有多少的TODO没有去处理;
  • 了解整个产品,产品是分模块做的,多去了解其他人做的部分,乃至到产品的全部,理解了产品,才能理解公司的愿景,这样每个人的步调才能一致,而不至于每个人都很使劲,但就是停滞不前;
  • review代码,自己的和他人的都可以,这也是互相学习,共同成长的一个手段;
  • 写写总结,技术人员大多不怎么写还写东西,当你尝试着把一个东西用文字表达出来并分享给大家的时候,你会发现,在这个过程你学习到的远比分享给别人的多。

总结

改变不了环境,又没有资本Say No的时候,只有一个办法,让自己变强……