The West forgot how to make things, now it’s forgetting how to code
软件工程的“雾银行”:从国防工业的教训中汲取经验 (The "Fogbank" in Software Engineering: Lessons from the Defense Industry)
这篇文章探讨了当前软件行业面临的人才危机,并将其与国防工业在武器生产方面的历史性失误进行类比。文章的核心观点是,过度追求效率和成本优化,导致关键知识的流失,最终会在危机时刻导致生产能力崩溃。
核心内容:
- 国防工业的教训:
- Stinger导弹生产危机: 俄乌战争爆发后,对Stinger导弹的需求激增,但由于多年未生产,生产线停滞,相关技术人员退休,导致重启生产面临巨大挑战,交付时间长达四年。
- 欧洲军火生产困境: 欧盟承诺在一年内提供一百万枚炮弹,但实际产能仅为官方宣称的三分之一,交付时间延误九个月。问题的根源在于多年来的生产线关闭、缺乏关键原材料和优化生产以满足小批量高价定制需求。
- “雾银行”事件: 美国在核武器计划中,由于关键技术人员退休,导致无法复制一种名为“雾银行”的关键材料,即使花费数百万美元进行逆向工程,也需要多年才能成功,最终发现最初材料的关键成分是偶然产生的,仅有生产过该材料的工人才知情。
- 共同的模式: 无论国防工业还是软件行业,都出现了类似的模式:在和平时期,为了降低成本,削减关键能力,导致人才流失和知识积累不足。当危机爆发时,这些削减带来的后果显现出来,生产能力无法满足需求。
- 软件行业的现状:
- 人才管道崩溃: 软件行业也在经历类似的人才优化,裁员、减少初级工程师招聘,以及对AI工具的过度依赖,导致缺乏经验丰富的工程师。
- 理解危机: 软件工程师的理解能力正在下降,无法有效评估和纠正AI生成的代码,导致代码质量下降。
- AI工具的局限性: 实验表明,即使使用AI编码工具,经验丰富的开发人员在实际任务中反而花费了更多的时间。
- 关键点:
- 知识积累需要时间: 无论是国防工业还是软件工程,都需要漫长的时间积累专业知识。例如,潜艇设计需要十年以上的经验,国防行业的学徒期需要两到四年的时间。
- 不能通过资金解决问题: 解决人才危机不能仅仅依靠资金投入,需要培养下一代工程师,并传承经验。
- 危机不可预测: 突发危机往往难以预料,需要提前做好准备,建立强大的生产能力。
总结:
文章警示软件行业不要重蹈国防工业的覆辙,过度依赖AI工具和削减人才投资,导致关键知识的流失。 应该重视人才培养,建立健全的知识传承体系,以应对未来可能出现的危机。 就像国防工业的教训一样,忽视了人才积累的长期投资,最终会付出惨痛的代价。