三篇影响软件工程思维的经典文章

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》

这篇文章讨论工程师与管理者之间的职业路径切换。

作者当时处在工程管理岗位上,担心如果重新回到一线工程角色,会损害自己的职业发展。文章中的观点给了他很大启发:许多优秀的软件从业者,会在职业生涯中多次在工程师和管理者两条路径之间摆动。

这种切换并不一定是倒退。相反,管理经验可能让人更理解组织与协作,一线工程经验也能让管理判断更贴近实际。两者之间的反复切换,可能让人在两个方向上都变得更强。

共同主题

这三篇文章虽然讨论的问题不同,但都指向几个软件工程中的长期命题:

  • 不要过度相信抽象,必要时要理解底层机制
  • 技术债无法只靠局部修补解决,系统性迁移能力很重要
  • 职业发展不一定是单向晋升,也可以在不同角色之间往复积累

对于软件工程师来说,这些观点都值得反复思考。

评论

请登录后发表观点

暂无数据