AI 时代「我还算开发者吗」的职业身份讨论
社区热议使用 AI 工具是否改变开发者身份定义(143 条讨论)。引发共鸣但主要是观念层面,不是实操价值。
社区热议使用 AI 工具是否改变开发者身份定义(143 条讨论)。引发共鸣但主要是观念层面,不是实操价值。
从手艺到编排的演变
三年前,如果你问我:“你是做什么的?”我会毫不犹豫地回答:我是一名软件开发者。我写代码,修复 bug,解决问题。
自信、明确,没有半点迟疑。
上周,一位初级开发者问了我同样的问题:“你到底是做什么的?”
我张开嘴,却什么也没说出来。不是因为我忘了,而是因为我真的已经不知道了。
“我写代码,”我最后说道,“但大部分代码都是 AI 写的。”
“所以你是一名 prompt engineer?”他问。
我笑了。然后又收起了笑容,因为这个问题并没有错。
三年前,我清楚自己是谁。如今,我不确定了。
这不是一篇反对 AI 的文章,也不是要讨论如何回到过去。它讲的是:有一天你醒来,突然意识到,你已经不知道该如何称呼自己了。
我还是开发者吗?还是说,我已经用手艺换来了一种更快交付的方式?
几年前,如果有人问我是做什么的,我可以轻松作答。
“我是一名开发者。我构建软件,用代码解决问题。”
这个答案很有分量。它描述的不只是我做什么,也描述了我是谁。它有一种坚实的感觉,像是靠自己真正挣来的身份。
我会在周末开发一些根本没人要求我做的业余项目。我会把同一个函数重构三遍,并不是因为它非改不可,而是因为让它变得优雅,本身就是一种回报。我会花几个小时调试,不是因为这是一种高效的选择,而是因为找到 bug 的那一刻,就像赢得了某种奖励——一场只有我自己知道参加过的小型私人彩票。
代码是我的。挣扎是我的。满足感也是我的。
我会阅读别人的代码,只为看看他们是如何思考的。我对架构有自己的看法,而且非常强烈。我会花远超合理范围的时间争论命名规范,因为那些名字对我很重要,因为代码对我很重要,因为我真正置身其中。
如今,那个人仿佛已经变成了另一个人。
这一切并不是一夜之间发生的。也正因如此,很难指出它究竟从哪里开始。
最初,我用 AI 编写样板代码。那些乏味的东西——脚手架、配置文件,以及我已经写过上百遍的重复模式。这谈不上丧失身份,只是一个聪明的选择。
后来,我开始让 AI 编写那些我自己能写、但不想写的函数。更快,而且感觉依然没什么问题。
再后来,我开始用 AI 编写那些我本该会写的函数。到了这里,我原本应该停下来想一想,但我没有。
然后,我不再先写代码,而是先写 prompt。既然 AI 十秒钟就能生成一个能用的版本,为什么还要自己苦苦折腾二十分钟?
接着,我也不再认真评估 AI 的输出。我只是快速扫一眼,然后交付。
直到上周,一位初级开发者问我:“你到底是做什么的?”——我无言以对。
这种转变不是我主动做出的某个决定。它是由一千次微小的“好”累积而成的。每一次看起来都只是为了提高效率,没有哪一次让人觉得自己正在失去什么——直到我回头望去,再也找不到曾经的自己。
渐进式失去就是这样。你感觉不到它正在发生,只有当它彻底消失时,你才会注意到。
prompt engineer 编写 prompt,开发者构建系统。
我现在仍然两者都做。我仍然会思考架构,仍然关注边界情况,也仍然会调试——尽管频率比以前低,钻研得也没以前深。我仍然对系统应该如何构建有自己的看法。
但与此同时,我每天也会花相当多的时间生成、浏览、接受并交付一些自己并未彻底思考过的代码。这些代码可以运行,却不能真正算是我的。
经过几个星期不愿将它说出口后,我最终得出了这个诚实的答案:两者都是我,两者也都不是我。真正重要的,是它们各自所占的比例。
当我设计系统、推演不同方案的权衡、发现 AI 遗漏的问题,或者不只问“这能用吗”,还会问“这是正确的解决方案吗”时,我是一名开发者。
当我只是生成代码并将其交付,当我外包的不只是敲键盘的工作,还包括思考本身时,我就是一名 prompt engineer。
头衔并不重要,比例才重要。
如果我把大部分时间用来思考,再使用 AI 表达这些想法,那么我就是一名使用 AI 的开发者。
如果我把大部分时间用来编写 prompt,只是偶尔扫一眼结果,那么我就是一名曾经做过开发者的 prompt engineer。
最可怕的是,这个比例会悄无声息地发生变化。你察觉不到它正在移动,直到有人问了一个简单的问题,而你却给不出答案。
我不会放弃 AI。那不是答案,而且坦白说,我也不想这么做。AI 让我可以更快地完成开发工作中那些我最不感兴趣的部分。理论上,这应该能让我腾出更多时间,去做那些我最感兴趣的事情。
问题在于,这句话中的“理论上”承担了太多责任。
所以我开始尝试一些小事。不是建立一套生产力系统,也不是发表一篇宣言,只是一些小事。
每天早晨,一小时不用 AI。每天开始写代码后的第一个小时——不用 Copilot,不用 Cursor,什么都不用。只有我和问题本身。这样做更慢,有时也令人沮丧。但这段时间真正属于我,而一天中的其他时间往往不是如此。
每天结束时,诚实地问自己一个问题:“我今天思考了吗,还是只生成了东西?”没有观众,不需要表演,只需要给自己一个诚实的答案。
去做一些永远不会有人看到的东西。不关注指标,不部署,不需要 PR 审批。仅仅为了创造而创造。当你已经花了数年时间优化产出之后,你会发现,这件事比听起来难得多。
记住那位初级开发者的问题。不是为了让自己感到内疚,而是为了诚实面对自己的答案。
这些做法能够解决我的身份危机吗?大概不能。但它们能够减缓这种漂移。而对现在的我来说,能够减缓漂移似乎就已经足够了。
这是我已经接受的事实:我永远不可能再成为 AI 出现之前的那个开发者。那个版本的我已经消失了。不是因为 AI 从我身上夺走了什么,而是因为我主动把它交了出去。一次交出一条捷径,一次跳过一场调试,一次用 prompt 取代原本应该发生的思考。
但我不认为,这就意味着我只是一名 prompt engineer。
这意味着,我需要为那个问题找到一个全新而诚实的答案。这个答案既要承认我失去了什么,也要承认我真正获得了什么。它不能假装这门手艺仍与过去完全相同,也不能因此就把它彻底否定。
“使用 AI 的开发者”,似乎已经很接近了。
“仍然在意两者差别的开发者”,似乎更加准确。
现在,你如何称呼自己?开发者、prompt engineer、介于两者之间的某种身份,还是一个你仍在努力弄清楚的称谓?
更重要的是,头衔真的重要吗?还是只有你实际完成的工作才重要?
我已经思考这个问题好几个星期了,却依然没有一个干净利落的答案。我真心希望听听你的答案。
我会先在评论区说出自己的答案。
那段与初级开发者的对话是真实发生的。我使用 AI 帮助整理了这篇文章的思路——这要么非常讽刺,要么恰恰就是本文想表达的重点。
部分评论可能仅对已登录的访客可见。请登录以查看全部评论。
如果需要采取进一步措施,你可以考虑屏蔽此人和/或举报其滥用行为。