文章摘要
文章认为软件工程的未来在于SRE(站点可靠性工程)。随着代码编写成本降低,运维能力将成为核心竞争力。虽然AI编程工具兴起,但软件工程师需求不会减少,反而需要更多SRE人才来保障服务稳定运行。
文章总结
软件工程的未来是SRE | Swizec Teller
核心观点
当代码编写变得廉价时,运维卓越性将成为制胜关键。任何人都能构建一个全新的演示项目,但运营服务需要真正的工程能力。
作者Swizec Teller指出,尽管当前关于自动化编码的炒作不断,但软件工程师的需求不仅不会减少,反而会增加。特别是站点可靠性工程师(SRE)将成为工程领域最热门的职位。
从无代码和电子表格时代学到的教训
以无代码工具和电子表格为例,非专业人士可以快速构建解决特定问题的工具。例如: - 会计部门的Joe用10小时完成重复性工作,通过无代码工具和电子表格宏将时间缩短到1小时 - 但随着时间的推移,业务变化、时区问题等使这个临时系统变得难以维护 - Joe被自己构建的系统束缚,无法休假或培训他人接手
计算机的"疾病"
物理学家费曼称之为"计算机病": - 自动化事物很有趣,但人们容易忘记自己其实不需要过度优化 - 真正的挑战在于长期可靠地运营服务,而不仅仅是构建它
为什么运维卓越性是未来
用户不关心软件如何工作,他们只想要可靠的服务: - iCloud照片自动同步 - 文档协作工具的无缝体验 - 支付系统的即时交易
优秀软件是隐形的,这需要大量工作: - 前90%的演示版本容易完成 - 剩下的190%才是关键: - 系统可用性 - 故障恢复速度 - 安全更新 - 数据保护 - 跨时区支持等
真正的工程挑战
编写代码是简单的,真正的挑战在于: - 构建比单人大脑容量更大的系统 - 确保工程师不会互相破坏系统 - 在用户发现问题前主动发现并修复 - 建立用户信任和可靠性
作者总结:软件工程是随时间推移的编程,关注系统如何演变。随着技术发展,SRE角色将变得越来越重要。
(注:原文中的书籍推广、社交媒体链接等营销内容已适当删减,聚焦核心观点)
评论总结
以下是评论内容的总结:
SRE的定义与适用性
- 有评论指出SRE(站点可靠性工程)主要在Google等大公司有效,因为需要开发者具备拒绝或要求代码修复的权力(评论3:"SREs are something that only works at Google...they need ability to reject or demand code fixes")。
- 另一观点认为SRE在小公司可能被容器化平台替代,但在复杂的大公司仍不可或缺(评论16:"I really can't imagine LLMs replacing SREs in large shops")。
AI对SRE和开发的影响
- 部分评论认为AI无法完全替代SRE或开发者,因为AI生成的代码质量依赖人工监督(评论3:"AI can't program now without massive experienced people controlling it")。
- 也有观点提出AI可能推动开发与运维角色的融合(评论7:"operational engineering become the consolidated role between the two")。
软件工程的未来方向
- 一种观点认为未来开发者需承担更多产品经理和设计职责(评论13:"SWEs take on more PM and design responsibilities")。
- 另一观点强调工程能力仍是核心(评论20:"The future...is software engineering, with emphasis on engineering")。
AI的局限性
- 评论指出当前AI无法解决所有问题,例如代码质量判断(评论9:"SREs cant tell you which is bad code and good code")。
- 也有认为AI可能辅助但无法替代人工(评论8:"AI will not get much better than what we have today")。
组织与规模的影响
- 小公司可通过标准化工具简化运维,而大公司仍需专业SRE处理复杂问题(评论16对比了小公司与大公司的场景)。
- 另有评论提到管理层对自动化的接受度影响技术落地(评论17:"Senior leaders still like to say: I run a 500 headcount...")。