《游戏改变世界》是一本好书,我还没有读完。不过读了不到一半,我就已经颇有收获了。本文先讲讲程序员加班现象和这本书内容的关系,分享自己的愚见。
而我的收获并不仅仅是程序员加班的现象,我会继续把这本书读完,以后我会再写其他见解。
提醒:本文有剧透。
《游戏改变世界》豆瓣链接:戳我
《游戏改变世界》这书并不是讲怎么玩游戏的,也不完全是讲怎么设计游戏的。这书先是研究了游戏如何影响人的心理,游戏如何让人幸福快乐,游戏如何让人沉迷等等,然后研究了如何把游戏的特征融入到现实的工作和生活当下,使你的工作、生活,甚至人生实现“游戏化”,从而得到更多的幸福感和自豪感,犹如在游戏中获得的快乐一样。这本书看起来似乎是描述行业发展或者游戏设计的书,但我认为这实质应该是一本心理学书籍。
众知周知,程序员是加班很严重的职业。可能大家都会以为IT公司事情多,程序员要加班才能完成任务,但是,也有大多数程序员都是自愿加班的。
这书的第一部分描述了游戏的4大决定性特征:目标、规则、反馈系统、自愿参与。而程序员写代码的时候,常常包含了这所有的4大特征。
编写程序代码是一项技术含量很高的工作。程序员在写代码的时候,有很明确的目标(按照需求文档完成需求)。代码本身就包含了明确的规则,有时候在大型项目中事先设计好一个代码架构,这个架构也是一种规则(事实上这种事先设计好的代码架构更接近于这本书对“游戏规则”的定义,因为程序员是可以不按照这种规则来做事,但是他们都自愿地严格遵从架构规则)。把这份代码写好,刚开始把代码运行起来时,一般系统会给予报错的反馈,因为bug是难免的。当程序员经过一次次修bug、运行,也一次次地被“反馈系统”给予“出错”的反馈,就像一次次地尝试挑战游戏的BOSS一样。最后代码终于没有bug了,系统给予了“运行正常”的反馈,程序员自己就会产生很强的成就感,就像经历千辛万苦终于把游戏通关了一样。如果项目的“目标”有足够的挑战性和足够的意义,程序员通常会自愿参与项目,因为用代码来做需求实在太像玩游戏打BOSS了。
所以,如果程序员接到的项目比较具有挑战性,能把游戏的4大特征——目标、规则、反馈系统、自愿参与——全部包含的话,程序员通常会像沉迷游戏一样沉迷于代码之中,这时候他们就会自愿地加班了。
程序员也是一种跳槽率很高的职业。网络上流传的跳槽原因有很多:钱给少了、对领导不爽、工作太无聊、加班太多……而这些原因都是表面的。上面说了,写代码常常会具备游戏的全部4大特征。程序员跳槽的本质原因,我个人认为,其实就是工作中缺少了这4大特征的某一个或几个。
钱给少了,就是反馈系统不对了,辛辛苦苦把项目做好,最后申请升职加薪却不给,就是没获得所期望的反馈。对领导不爽,这个原因很多。如果领导总埋怨程序员效率低、加班少,那就是反馈系统中的负面反馈太多,程序员感觉永远无法获得正面反馈。如果领导总是给些太简单的项目,程序员觉得无聊,那就是目标的设定不对,目标太简单,失去了挑战性,看不到项目的意义。如果领导喜欢叫大家“政治性”加班,或者弄些衣着要求之类的制度,或者排期不合理,那就是规则有问题……
其实多数程序员是喜欢自愿加班的,如果跳槽的原因是加班太多,那一定是加班的姿势不对。“政治性”加班、工期弄太紧张导致加班、简单的琐事过多导致加班等等,都会导致程序员埋怨加班太多。
可能有些程序员跳槽找工作时喜欢把加班多少、工作是否轻松作为考虑的标准,但是游戏的4大特征告诉我们,如果工作轻松、没有挑战性,那么程序员很快还会再次考虑跳槽的。因此我们找工作时,不论你是不是程序员,应该更多地关注工作的内容,并参照游戏的这4大特征做考虑。
不仅仅是程序员,任何职业任何工作如果能具备游戏的4个特征:具挑战性的目标、简单明确的规则、既及时又华丽的反馈、鼓励自愿参与,那么员工的工作积极性也自然会高涨起来。