三篇影响软件工程思维的经典文章
Simon Willison4 天前
有人提到,以下三篇文章深刻影响了他对软件工程和职业发展的理解。
1. Joel Spolsky:《The Law of Leaky Abstractions》
这篇早期文章提出了“抽象会泄漏”的观点:再好的抽象层,也无法完全隐藏底层复杂性。
作者在职业早期读到这篇文章后,形成了一个长期习惯:即使主要工作在某个抽象层之上,也要持续理解其下方的系统、协议、工具或基础设施。因为一旦抽象失效,排查问题往往需要穿透到更底层。
2. Will Larson:《Migrations: the sole scalable fix to tech debt》
这篇 2018 年的文章讨论了“迁移”与技术债的关系。
其中一个重要观点是:迁移并不是软件工程中的特殊事件,而是工程实践的一部分。例如:
- 用新服务替换旧服务
- 切换数据库引擎
- 更换基础设施组件
- 重构关键系统边界
文章强调,迁移是一项需要投入、练习并持续提升的能力,而不是应该尽量回避的一次性任务。
3. Charity Majors:《The Engineer/Manager Pendulum》
这篇文章讨论工程师与管理者之间的职业路径切换。
作者当时处在工程管理岗位上,担心如果重新回到一线工程角色,会损害自己的职业发展。文章中的观点给了他很大启发:许多优秀的软件从业者,会在职业生涯中多次在工程师和管理者两条路径之间摆动。
这种切换并不一定是倒退。相反,管理经验可能让人更理解组织与协作,一线工程经验也能让管理判断更贴近实际。两者之间的反复切换,可能让人在两个方向上都变得更强。
共同主题
这三篇文章虽然讨论的问题不同,但都指向几个软件工程中的长期命题:
- 不要过度相信抽象,必要时要理解底层机制
- 技术债无法只靠局部修补解决,系统性迁移能力很重要
- 职业发展不一定是单向晋升,也可以在不同角色之间往复积累
对于软件工程师来说,这些观点都值得反复思考。
