新入门的开发实际上不会写代码

这是一篇翻译。原文章《New Junior Developers Can’t Actually Code》,来自 Namanyay Goel

关于新开发人员应该如何学习的问题一直困扰着我,我要谈谈这个话题。

我们正处在这个软件开发的奇异转折点。每个我交谈过的初级开发都在 7×24 小时地使用

Copilot、Claude 或者 GPT。他们交付代码的速度比以往都要快。但是当更加深入地问他们对于交付内容的理解时,事情开始变得令人担忧了。

当然,代码是可以运行的,但是问到为什么是这样运行而不是那样?鸦雀无声。问及边界情况?面面相觑。

过去那种通过努力克服问题而得到的基础知识,现在却……消失了。

我们正在用快速解决方案取代深度理解,当下虽然感觉很好,但将来是要为此付出代价的。

那时我们还须认真思考

最近我才意识到有整整一代的新程序员们甚至不知道什么是 StackOverflow。

当“Claude”还不是指聊天机器人,而是信息熵领域的发明者时1,编程问题的调试方式是不一样的。

首先会在 Google 上搜索。然后期待着某个苦主也问过和你类似的问题。如果确实有,你就会找到某个智慧老者详细的,深思熟虑(而且常常是带有优越感)的回答,而这个网站就叫“Stack Overflow”。

这是我 12 年前发布的一个提问。看看来自 Nathan Wall 的最佳回答(他得到了超过 10000 点积分,而且显然他从 2015 年开始就是该站的 CTO):2

帮自己一个忙,去读一读,你可能会有所收获

你能想象有些家伙能写出这种程度细节的回答吗?原始的,没有使用任何 AI?并且是无偿的?

我最初的问题当然已经得到了彻底的回答,但他没有止步于此。我学到了很多新知识,其中有一些我甚至不知道它们的存在,而另一些我甚至不想知道,但现在它们永远刻在了我的脑海里。

这就是你遇到问题时能有的最好情况。如果你偶然遇到了一个难题,并且找不到任何人解决过你的问题,那就倒霉了。3

《古人的智慧》XKCD 979

如今的初级开发者很容易做到这点。它们只是要去 chat.com4 复制粘贴任何看到的错误。更懒的人甚至不会花 30 秒的时间切换到浏览器窗口,他们用的工具在一个地方就完成所有事情。

方便又快捷。

但是,StackOverflow 仍然有它更优越的原因:

阅读经验丰富开发者对你话题的讨论是最好的学习方式。

用这张图来表达我的意思:

AI 会给你答案,但你得到的知识是肤浅的。用 StackOverflow时,你必须阅读多个专业的讨论才能够全面了解。这样会慢一些,但是你最终不仅理解了什么可行,还理解了为什么可行。

想想你认识的每一位伟大的开发者。他们是靠复制解决方案才变得这么优秀的吗?不是——他们是通过深度理解系统和理解其他开发者的思考过程才达到这一点的。这正是我们正在失去的东西。

我并不想成为那种抱怨”现在的孩子们“的人。我也每天用 AI 工具,事实上我还正在造一个出来。但我们需要坦诚地面对,为了这种便利我们失去了什么。

我们能做什么?

我一直在尝试解决这个问题的办法(因为让我们面对现实吧,AI 就在那里)。以下是实际有效的办法:

  • 首先,带着学习的心态使用 AI。当 AI 给你回答的时候,质问它,问它为什么。当然,这样会花更长的时间,但这就是目的所在。
  • 其次,找到你的社群。Reddit、Discord、Mastodon——聪明人出没的地方,那是真正的讨论发生的地方,有人能然你发出”哈,我从来没有那样想过“的地方。
  • 用不同的方式做代码审查。不要只检查代码是否有效,而是和你的团队进行对话。他们考虑了什么其他方法吗?他们为什么采用了这种呢?让理解过程和最终结果一样重要。
  • 偶尔从头开始造轮子。是的,AI 可以为你生成鉴权系统,但是试着自己先做一个吧。你会写出更糟的代码,但其中的每一行代码你都理解。这样知识会逐渐积累。

展望

现实就是这样:加速已经开始,我们无能为力。开源模型正在接管一切,在我们意识到之前,AGI5就会在我们的口袋里运行了。 但那并不意味着我们要被变成更糟的开发者。

未来不在于我们是否使用 AI——在于我们如何使用它。也许,只是也许,我们会找到能把 AI 的效率和我们需要的深度理解结合起来的方法。

如果你找到了其他办法来平衡这一点,请告诉我。或者告诉我,我只是一个对云大喊大叫的老人6。无论如何,让我们一起弄清楚这个问题吧。

参见:


  1. 克劳德·艾尔伍德·香农(Claude Elwood Shannon),美国数学家、电子工程师和密码学家,信息论的创始人↩︎

  2. Stack Overflow 上作者提问了 JavaScript 语言中 3 个字符串转数值用法的区别,而 Nathan Wall 用户给出了非常详细的回答,还提供了使用建议↩︎

  3. XKCD 979 漫画的汉化来自 XKCD中文站↩︎

  4. 原超链接已替换为国内可以打开的视频版本↩︎

  5. AGI(Artificial General Intelligence,人工通用智能)指具备与人类相当或超越人类的广泛认知能力的人工智能系统↩︎

  6. 形容某人和时代脱节,拒绝接受改变。”Old Man Yells at Cloud“ 这个 meme 出自美剧《辛普森一家》S13E13 ↩︎

新入门的开发实际上不会写代码

https://blog.beanbang.cn/2025/10/25/ai-and-learning/

作者

Lazyb0x

发布于

2025-10-25

更新于

2025-10-27

许可协议

评论