软件开发中的认知偏差:为何理性的工程师也会做出非理性的决策
引言:一个被忽视的工程问题 2019年,俄勒冈州立大学的研究人员进行了一项特殊的田野研究。他们在不干预的情况下,观察了10名软件开发者的日常工作,记录下每一个决策和行动。研究结果令人震惊:在观察到的2084个开发者行为中,约45.72%的行为与至少一种认知偏差相关。更值得注意的是,68.75%需要回溯修正的行为都与认知偏差有关。开发者们花费了约34.51%的工作时间来纠正这些由偏差导致的错误决策。 ...
引言:一个被忽视的工程问题 2019年,俄勒冈州立大学的研究人员进行了一项特殊的田野研究。他们在不干预的情况下,观察了10名软件开发者的日常工作,记录下每一个决策和行动。研究结果令人震惊:在观察到的2084个开发者行为中,约45.72%的行为与至少一种认知偏差相关。更值得注意的是,68.75%需要回溯修正的行为都与认知偏差有关。开发者们花费了约34.51%的工作时间来纠正这些由偏差导致的错误决策。 ...
一个让无数技术团队困惑的悖论 2024年,一家硅谷独角兽公司的工程总监在复盘年度招聘数据时发现了一个令人不安的模式:那些在算法面试中表现出色、拿到最高评分的工程师,入职后的实际绩效分布却呈现随机散布;相反,几位面试表现"勉强及格"的候选人,反而成为团队的核心贡献者。这并非个案——Google内部研究曾承认,他们的面试评分与员工入职后的绩效相关性几乎为零。 ...
1969年,Tony Hoare发表了一篇只有三页的论文,提出了后来被称为"Hoare逻辑"的形式系统。他在论文开篇写道:“计算机程序员总是要和程序正确性打交道。“半个多世纪过去了,程序员们依然在和程序正确性打交道——只是我们选择的方式,几乎从未真正拥抱过Hoare的方案。 ...
在一个拥有数百万行代码的遗留项目中寻找一个特定的函数定义,往往被开发者视为一场噩梦。传统的 grep 命令在递归扫描大型代码库时,可能会卡顿数十秒甚至更久。然而,现代工具如 ripgrep 却能在眨眼间返回结果;企业级代码搜索平台(如 Sourcegraph)甚至能在跨仓库的 PB 级代码海洋中实现毫秒级响应。这种体验上的巨大鸿沟,并非仅仅源于硬件性能的提升,而是源于底层算法和系统架构的革命性突破。 ...
1970年6月,E.F. Codd在《ACM通讯》上发表了一篇注定改变计算机科学进程的论文。在这篇题为《大型共享数据库的关系模型》的文章中,他提出了一个看似简单的想法:能否让用户只描述想要什么数据,而不必关心如何找到它们? ...
2012年,一种名为Flame的恶意软件在中东地区的计算机系统中悄然蔓延。它不仅使用了有效的数字证书签名,而且这个证书竟然来自一家知名的硬件制造商——宏碁的一家台湾子公司。安全研究人员最初以为自己看错了:一个经过微软Windows系统完整验证的、带有可信证书链签名的文件,怎么可能是恶意软件? ...
1964年,IBM在设计PL/I语言时引入了一个被称为"ON语句"的构造。这个看似简单的语法元素,开创了编程语言中结构化错误处理的先河。六十年后,当Rust的?操作符和Go的显式错误检查成为现代语言的主流选择时,我们不禁要问:为什么错误处理这个问题困扰了语言设计者如此之久? ...