这是国外的一片博客译文。原文为:It's the Perfect Time to be a Senior Developer 翻译:deepseek
过去一年里,关于人工智能的喧嚣不绝于耳------AI 智能体、AI 取代软件工作、AI 毁灭世界、通用人工智能等等话题轮番登场。就我个人而言,情绪如同坐上了过山车,而每当Fireship(注:一个代码教程和科技新闻的自媒体)近期发布新视频时,我的焦虑指数总会攀升一两个等级。

然而,过去几个月里我逐渐意识到,如果你是一位经验丰富、技术纯熟或资深的开发者(无论你如何定义自己),你正处在一个绝佳的位置,可以利用这个强行闯入我们日常生活的神奇新工具。我想阐明的是,人工智能并非职业威胁,而是巨大的助力。不过(这个"不过"非常重要),一切取决于你如何使用它。
资深开发者具备全局视野
我最近观看了TJ DeVries制作的这个YouTube视频,这位才华横溢的开发者谈到了利用 AI 进行学习。他和 Primeagen 当时正在用都不熟悉的 Laravel 框架(注:一个 PHP 开发框架)开发应用,发现 LLM 的预测功能极其有用------它能用他们陌生的语言提供代码范式,而他们将其视为走对方向的信号。

这正是经验丰富的开发者当前拥有的巨大优势。他们掌握了足够的理论、设计模式和编程基础,能迅速判断所选LLM的输出是"命中"还是"偏离"。他们还懂得如何提出精准问题或构建有效提示词------这一点我认为至关重要,却鲜少被讨论。
我的Laravel实践示例
我是一名前端开发工程师,日常工作主要使用React和Typescript。但最近我开始尝试Laravel------这个备受推崇的框架(何况多年来我一直是Taylor Otwell设计理念的忠实粉丝),并利用业余时间构建了一些API端点。
我对API端点的工作原理、CRUD操作都很熟悉,之前使用NestJS及其依赖注入方案处理过类似任务,对数据库和迁移也不陌生。
这意味着我清楚自己要实现什么功能,只是不了解"Laravel式"的实现方法。这时我发现LLM(具体来说是在Cursor中使用的Claude 3.5 sonnet)特别有帮助。
我知道需要创建某种控制器,于是让Cursor展示Laravel控制器的实现示例。虽然明白要捕获错误并根据类型返回不同响应,但我对Laravel的最佳实践并不熟悉。在这个过程中,我发现了Trait的妙用。Cursor最初并未直接推荐Trait,但当我要求优化原始方案时,它给出了这个既能用于API控制器又能用于Web控制器的解决方案。

这时我的经验就派上用场了。我深知代码的DRY原则,也预见到当前逻辑需要在两处复用------这意味着未来重构时可能引发的bug和麻烦。毕竟任何重要项目都逃不过重构环节,这是经验之谈!正因如此,我知道该提出哪些关键问题。
经验至关重要
在使用大语言模型(LLM)时,懂得提出恰当的问题是微妙却极其关键的因素。若对所涉领域缺乏基本认知,大语言模型很容易将你引向一条充满风险的不归路------而且这种误导往往发生得极快,必须格外警惕。
举例而言,倘若我让大语言模型协助起草一份雇佣新员工的法律合同。表面上,模型生成的文本可能显得相当可靠。但若将这份合同交给律师审阅,他们必定能发现其中存在的漏洞------这些漏洞未来可能使雇主或雇员陷入法律风险。
反之,若由律师使用大语言模型起草合同,他们清楚应当要求哪些具体条款,能够识别文本中的异常之处,最终制定出严谨得多的法律文件。这种能力正是源于其专业经验。
魔鬼藏在细节里
最近我看了Melkey的这个视频,他讲述了一个自称零开发经验却成功打造真实SaaS应用并赚取真金白银的案例。如果属实,这简直令人难以置信。
然而几天后,同一个人却陷入恐慌与挫败------他的项目开始全面崩溃。
当事人披露的细节令人胆寒:API密钥暴露、未处理CORS问题、数据库存在"异常数据"------可见基本安全措施近乎空白。这些对开发者而言都是基础常识,但对门外汉来说却如同天书。

问题核心在于:人工智能确实能通过语音指令生成惊人成果,但若认为仅凭此工具就能轻松复制专业开发者数月的工作成果,这种想法实在天真。
软件开发中存在无数细节知识,绝非速成可得。它们需要时间沉淀,往往还要付出痛苦的代价------毕竟,疼痛才是最有效的老师。
结论
如果你现在是一名拥有经验的软件开发人员,那么你确实应该好好享受我们手头这套出色的新工具。虽然并非事事顺遂,但当前能实现的技术成果已足够令人惊叹。这就像拥有一个随时听候差遣的代码助手,让你能更专注思考、更快实现想法,从而进行更多试错与创意验证。
若你尚未入行但正考虑投身软件开发领域,面对AI"无所不能"的表象,现状或许显得令人却步。但我坚信,只要你真正热爱构建创造与解决问题,这个世界永远会有你的一席之地。