软件开发变了,但优秀的工程实践没有。

软件开发的面貌与十年前已大不相同。你构建产品的速度更快了。你使用了更多的云服务。AI 现在已经融入了你的日常工作流。

环境变了,但工程的核心原则保持不变。代码必须保持可读性、安全性和可靠性。

作为一名工程师,你经历了哪些变化?

好的代码定义依然如故。

代码库应该是可预测且易于更改的。每当你增加一个新功能时,维护工作不应该变得越来越困难。AI 在这里增加了一个新的维度。AI 生成的代码包含许多检查和边缘情况。有时这很有帮助,但有时它会让代码变得过于复杂。你必须审查 AI 生成的代码,以确保其保持简洁并符合你的架构。

产品上市时间(Time-to-market)大大缩短了。

十年前,一次发布需要数月时间。而今天,你可以在几天内构建出一个版本。AI、云服务和 API 加速了这一进程。但交付速度的提升也带来了更多风险。发布后,你必须更密切地关注系统的稳定性、安全性和可扩展性。

你的关注点变得更加广泛。

过去,你专注于编写代码和交付功能。现在,你必须管理更多的领域:

  • 可扩展性
  • 集成
  • 数据管理
  • 云基础设施
  • AI 实现
  • 安全性
  • 系统稳定性

一个功能不再仅仅是代码。它还取决于云成本、数据流和第三方服务。

技术选型应遵循需求,而非追逐潮流。

团队过去倾向于选择熟悉的工具。现在,你还会考虑开发速度、AI 就绪度以及云支持。新框架迭代很快,因为 AI 可以轻松阅读它们的文档。然而,这些工具往往缺乏成熟的组件或经过验证的安全性。

AI 处理代码,但人类掌控架构。

AI 带来了巨大的变革。但架构需要理解权衡(trade-offs)、长期风险以及产品如何成长。经验丰富的工程师和架构师仍然是这一过程中最重要的环节。

核心问题已经发生了转变。

十年前,你会问:“我们如何构建并发布得更快?” 今天,你会问:“我们如何在快速发布的同时,不创建一个不稳定、昂贵或不安全的系统?”

速度很重要,但仅有速度是不够的。

Source: https://dev.to/techbarsw/software-development-changed-good-engineering-didnt-2g7

Optional learning community: https://t.me/GyaanSetuAi