我刚刚意识到一件相当有趣的事情——软件开发行业正处于我20多年的职业生涯中从未见过的一场变革中。



大约二十年前,我开始了DCSL Software(,后来叫做One Beyond)。我在2023年离开公司时,它已经拥有超过300名员工,并在全球范围内运营。之后,我创立了一家机器人技术创业公司,并成功融资超过400万英镑。说实话,我从未想过自己会重新回到编码。

从2014年起,我就停止了每日编码。这并不是因为我不能,而是因为随着公司发展,这成为一种自然的路径。你雇佣比你更优秀的人,专注于领导,逐渐远离键盘。近十年的时间里,这一切都变得完全正常。

但令人惊讶的是,最近我又发现自己回到了开发者的角色——不是出于怀旧,而是出于实际需求。我正在构建一个真正复杂的机器人平台。而我的工作方式也完全不同于以前。

这种个人的变化让我清楚地看到:在我们接触软件开发的方式中,已经发生了一些根本性的变化。

回想过去,我们采用瀑布模型工作。这不仅仅是理论,而是纯粹的经济学。编码成本高、建设缓慢,因此唯一合理的方法是从一开始就进行充分的思考。我们写详细的规格说明,因为必须这样做——合同、交付,一切都依赖于它们。写一份好的规格说明是一项稀缺的技能,而我恰巧相当擅长。我可以在产品还不存在之前,想象出它的完整样子,预测复杂部分,并用足够的准确性描述行为,以便团队可以基于此构建。

之后,行业转向敏捷(Agile)。公开的原因是它更适应变化。隐含的原因是我们意识到,在大型、长期系统中,没有任何规格说明可以完美存在。企业在变化,用户在变化,技术也在变化。敏捷很有用,但它也有代价。我们放弃了从一开始就进行深度设计,而是逐步探索。这种方式有效,但也标准化了一种思维:过度思考被视为不必要甚至有风险。

直到现在,我才意识到我能重新回到编码的原因,不是因为我突然有时间或想重新学习十年前的工具,而是因为AI从根本上改变了测试的成本。

人们常常误解这一点。真正的变化不是编码变得更快,而是现在一切都可以快速、廉价地测试,而且大部分可以逆转。曾经花费开发者几周时间的事情,现在几分钟就能试验。你探索一种方法,感受它的效果,完全放弃,然后尝试另一种,几乎没有惩罚。这在以前是根本不可能的。

过去,代码带来了强烈的情感和财务依赖。如果某个东西花了两个开发者三周时间来构建,你很难想象会轻易放弃。决策早早变得僵硬,不一定是因为它们正确,而是因为逆转成本太高。这种束缚已经消失,这也是我重新回归的原因。

现在,我在我最擅长的层面工作——理解问题、塑造系统、发现复杂性——而AI处理机制。我不再像二十岁时那样写代码,而是指导它、微调它、修正它,有时还会阻止它偏离方向。这种感觉更像是领导一个团队,而不是写代码。你真正是老板——设定方向、审视结果、发现懒惰的方式。

一个常被误解的观点是,这种新的自由让设计变得不那么重要。实际上恰恰相反。拥有清晰、详细的设计思想仍然极具价值。它甚至可以提升AI的输出。意图越明确,结果越好。模糊的思维只会产生更模糊的系统。

AI的运作方式类似于人。它想帮忙,想提供答案。如果你表达不清,它会填补空白;如果你不小心,它会做出假设;如果你不质疑它,它会自信地继续走错路。

但设计不再是一个必须存在多年、坚不可摧的产品。它变成了一个指导测试的方向,而不是束缚。你保持对目标的清晰愿景,同时也愿意尝试、放弃和发展实现目标的路径。

新技能是知道何时探索有效,何时只是噪声。AI会乐意持续构建结构,即使它本应简化。它不知道何时一个文件太大,何时一个抽象泄露,或何时今天有效的东西会在未来带来痛苦。这些直觉仍然来自经验。

当测试变得廉价,许多长期假设就不再成立。规划不再是锁死一切,而是设定意图、约束和边界。少一些关于努力的预估,多一些对探索空间的理解。我们与代码的关系发生了根本变化。减少对具体实现的依赖,更关注行为、结构和结果。

这也是为什么软件开发行业感到不安的原因。许多人试图用旧的思维模型去适应新工具。这种尝试一段时间有效,但错过了核心点。

我相信这种变化是永久的,原因非常简单:我不会在没有这种变化的情况下重新构建。唯一让我相信可以在十年后继续实践软件开发的理由,是那些曾经限制我的约束已经不再适用。现在的代码可以通过引导式测试变得更易发展,这是过去无法实现的。

这并不意味着经验变得不重要。它意味着经验变得以不同的方式重要。价值不再在于记忆语法或框架,而在于判断、结构和知道何时停止。

这不是软件开发的终结,但这是旧模式的终结。一旦你采用这种方式,就没有回头路。
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论