习以为常的违规

科技行业普遍存在一种将不规范、低效甚至危险的行为视为常态的文化,即“异常常态化”。这种现象源于初创公司对增长的极度关注而忽视风险,并随着公司壮大而固化。其具体原因包括规则低效、知识传递不完善、员工因恐惧不敢发声以及领导层淡化问题。要解决这个问题,公司必须关注新员工发出的“微弱信号”,鼓励艰难对话,确保员工敢于发言,并认识到强大的工程文化才是提高生产力的关键,而非盲目复制其他公司的流程。

当反常成为常态:一些真实案例

在许多科技公司,一些显而易见的问题被内部员工视为“正常”,甚至值得称道。这种现象普遍存在,从创业公司到行业巨头都不例外。

    • 高离职率被接受: 一家文化优秀、自由度极高的公司,却在第一年就流失近半数新员工,而这被内部视为正常现象。
    • 极端的保密文化: 为了防止竞争对手获益,有的公司宁愿自己修复硬件固件的 bug 也不上报;甚至故意发表无法复现的论文。这种保密文化导致员工因害怕被解雇,连更新医保信息的邮件都不敢转发给配偶。
    • 功能失调的团队: 办公室里仅有的两个团队的经理长达十年处于敌对状态,甚至无法共处一室,而这竟被认为是“情况有所好转”。
    • 反智的决策方式: 在某些公司,依靠人脉而非数据做决策被视为常态。同时,基础的工程实践(如版本控制、提交前测试)难以推行,导致构建频繁中断,而管理者却认为“这对每个人都公平”,所以不是问题。
    • 名不副实的招聘: 公司投入巨大资源宣传招聘女性工程师,但女性求职者仍在初筛阶段因“不够技术”等模糊理由被拒。
    • 不稳定的测试实践: 许多公司使用名为 @flaky 的工具,它会将一个测试运行多次,只要有一次通过,就标记为通过。这与人们普遍认为的“任何一次失败都应视为失败”的逻辑恰恰相反。

这些现象并非个例。无论是被誉为最佳雇主的公司,还是以工程实力著称的企业,都存在着各自“习以为常”的严重问题。

问题根源:增长压倒一切

许多公司在初创期都将精力完全集中在产品增长上,这是合理的,因为它们当时一无所有。因此,它们不会在运营规范或安全措施上投入过多精力,因为“没有什么可失去的”。

这种 极度关注增长而忽视风险的文化 会在公司壮大后延续下来。当公司市值超过十亿美元时,它们已经有很多东西需要保护,但文化惯性使其难以改变。

微软曾因安全问题而声名狼藉,直到多次灾难性的漏洞迫使其认真对待安全问题。谷歌也不是一开始就拥有世界顶级的安全实践,而是在经历了几次尴尬的失败后,才推动了根本性的流程改进。几乎所有拥有良好实践的公司,其转变都源于惨痛的教训。

异常常态化:一个跨行业的现象

人类非常不擅长为降低偶发性灾难风险而花费时间,我们总能将走捷径的行为合理化。这个现象有一个专门的术语:异常常态化 (normalization of deviance)。它在医疗、航空、航天等领域已有深入研究,但在软件行业却鲜有讨论。

医疗领域的一个案例极具警示意义:

一位麻醉师应外科医生要求关闭了呼吸机几秒钟以便拍摄X光片,但他忘记重新打开。由于手术室的警报系统被故意设置为“无限期暂停”模式(因为工作人员觉得持续的蜂鸣声很烦人),最终导致病人因缺氧而死亡。

这个案例中的“因通知太烦人而忽略”和“错误的手动操作”等因素,与许多科技公司的事故报告如出一辙,只是后果从金钱损失变成了生命悲剧。

为何我们会习惯于违规?

根据医疗领域的研究,导致“异常常态化”的原因主要有以下几点,它们同样适用于软件开发领域:

    • 规则本身愚蠢且低效: 当规则看起来妨碍工作时,人们倾向于绕过它。例如,为了“保证没问题”而跳过测试流程,强行推送一个有问题的配置。
  • 知识不完善且不均衡: 新员工加入时,他们很容易将团队中已经常态化的“坏习惯”当作标准流程来学习。
      • 新员工:这太奇怪了!
      • 老员工:是啊,我们知道。
      • (一段时间后)
      • 新员工2号:这太奇怪了!
      • 新员工1号:是啊,我们知道。
    • 为了“客户”而打破规则: 为了尽快修复影响客户的故障,工程师可能会跳过标准的、缓慢的部署流程,直接将修复推送到所有机器,结果反而可能引发了更严重的全局性故障。
    • “规则不适用于我”的过度自信: 许多人认为自己是优秀的、理性的,因此他们的违规行为是“情有可原”的。例如,当公司收紧数据访问权限时,一些员工会感到愤怒,认为这是对他们的不信任。
    • 员工害怕说出真相: 在某些公司,提出反馈可能会遭到攻击;而在另一些“友善”的公司,提出批评又可能被贴上“不友善”的标签。这导致许多本应被终止的项目因无人敢于直言而持续数月甚至数年。
    • 领导层淡化或隐瞒问题: 信息在向上传递的过程中,问题和缺陷会被逐级稀释。下属为了避免给上级留下坏印象,可能会选择性地汇报信息。

如何解决问题?

改变这种文化非常困难,尤其是在大公司。仅仅依靠领导的口头宣告或制作培训视频是无效的,因为这往往脱离了基层员工的实际工作。许多公司倾向于盲目复制成功企业的做法(例如谷歌的面试流程或评级体系),却没有理解其背后的逻辑和适用条件,这种“货物崇拜”式的模仿往往收效甚微。

要真正防止“异常常态化”,需要系统性的努力:

    • 关注微弱信号: 新员工加入时发出的“这太奇怪了”的感叹是一个宝贵的信号。当他们还未被“同化”时,他们的视角最能揭示组织中不合理之处。领导层需要有意识地捕捉并重视这些信号。
    • 抵制过度乐观: 不能因为问题没有立即导致灾难就忽视它。
    • 鼓励艰难对话: 必须培养一种文化,让员工能够进行那些可能令人不适但至关重要的对话。
    • 确保员工敢于发声: 创造心理安全感,让员工相信说出问题不会遭到报复。
    • 持续的监督和审查: 改进工作永无止境,需要不断地监督和反思。

最终,拥有一个强大的工程文化,远比使用某种时髦的编程语言或开发方法论更能提升团队的生产力。这需要公司真正投入精力去理解和解决内部的文化和流程问题,而不是仅仅关注外部的用户增长指标。