作者:沈世钧
链接:https://www.zhihu.com/question/289588888/answer/598581200
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
员工的离职成本非常高,尤其在软件行业。除了和传统企业一样,在员工离职时,会付出招聘、交接、培训成本外。离职率太高,对软件企业,还有一个极度恶劣的后果,那就是:极大的加速软件系统的腐败。因为软件是纯粹脑力劳动的结果,极度依赖软件工程师本人。因此,软件的交接就不简单是生产工具的交接,更是知识的传递。而只要有知识的传递就必然有丢失,有变形。因此一个离职频繁的团队,知识的反复交接,必然会丢失大量的细节,以致于到最后,接手的程序员对系统的理解是面目全非。而且最严重的不仅是知识的丢失,更有责任心的丢失。如果一个模块是由某个软件工程师一手开发并维护。在感情上,他自然的倾向于爱惜羽毛,认真对待。在责任上,他也无可推卸,因为这一切都源于他。但是,在一个离职率高的团队,一个软件反复转手,后来者除了感情不深外。出了问题,也自然的会把所有的缺陷归罪于前人,包括设计和开发。一个反复转手的软件,必定会出现经典的“破窗效应”:“反正系统已经这么烂了,而且也不是我的责任,我既没有能力,也没有必要去矫正它。”于是,有了bug,接手者自不会去认真研究问题的根源,而是倾向于用快速且肮脏的“打补丁”方式来解决。反正是先把问题摁住,至于整个系统是否会越来越腐败,管它呢?因此,整个软件系统最终呈现的就是补丁摞补丁的“垃圾场”。而我在软件圈所见所闻,也正有力的验证着该理论。我一好友,在某在线旅游网站工作,去年(2018)年初告我,连着两个星期,他每天中午都要吃“散伙饭”,以至于20人的团队,过了年,领了年终奖,一个月的时间竟走掉了70%的人,最后只剩下区区5人。因为机缘巧合,我也读过他们的代码。老实说,肮脏不堪,典型的“金玉其外败絮其中”。我认真的和朋友讨论他们的代码,为什么明明是一些低级的错误(例如不规范的变量命名,冗余的变量定义),随手就能改的东西,就生生的横在哪里,没人管。朋友沉默一会,坦诚一个重要的原因就是员工的频繁流动。也许你今天还和某个同事讨论开发细节,明天他就会通知你他要离职了。甚至于朋友的入职导师,一个月时间不到,竟也要离职。于是,本来需要辅导的朋友,反过身来却要和导师交接工作,你说荒唐不荒唐?而这种现象,对一个团队的软件质量来说,简直就是绝症。每个人在工作的时候,脑子里想的最多就是自己的跳槽和别人的跳槽。所有的工作都倾向于“将就”,反正 “我走后那管他洪水滔天,也和我无关!”。而且,据我所知,在软件行业,离职率高是一种普遍现象,即使是一些行业巨头,离职率也达到惊人的20%。这也就意味着,每过5年,整个团队就会被清洗一遍,这种情况下,再谈知识传承和软件质量,该是多么的不现实!而这一切的根本,员工固然有责任,但更应该反思的是管理层:为什么员工的离职率这么高?是因为待遇不公?还是工作量不合理?或者只是态度不好?这篇问答不仅是写给别人,更是写给我自己,我需要时刻诫勉自己:务必善待同事,因为在软件行业,人真的就是一切!
网友评论