这是我职业生涯中第一次,我完全不知道软件工程师的工作将在五年或十年内看起来是什么样子。 我总是喜欢编码,我喜欢从头开始创建应用程序,我喜欢理解大而复杂的代码库,我喜欢解决一个复杂的问题,找到一个简单的实现,或者用一个复杂的代码来简化它。 这种对工艺的热爱塑造了我对AI编码工具的初步抵制。 早期催眠和怀疑 这并不是说我认为“我不会和永远不会需要这个”。我已经是一个日常的ChatGPT用户非编码任务,但我认为我们远远没有真正可用的编程工具。 我的偏见被这些关于初级开发人员或甚至非开发人员使用AI编写完整应用的故事所加强,“我只用一个提示来构建一个Todo列表,”他们会说。 几次,我尝试了GitHub Copilot,我的怀疑似乎是合理的,我失望了,建议有时是无关紧要的,我花了更多的时间来修复它们,而不是我从相关的人那里获得的时间。 更重要的是,我感到不那么生产力,而且我的工作也少了,我失去了流量状态,而不是考虑大图,我更专注于检查生成的代码并修复错误。 我的转折点 然后,两个朋友告诉我给Cursor一枪,就像,严肃地。当时在Cursor周围发生了巨大的混乱,所以我认为这是一个很好的时机。 在这两个小时里,我只使用了代理模式,我自己没有编写任何代码,我在工作中需要添加到我的应用程序的基本功能上工作。 神圣的屁股 我被吹走了。 Cursor 能够处理复杂的代码库,我可以告诉它“以这个文件为例”,结果大多是好的,它能够生成非常相关的测试。 代理模式并不完美 - 它有时会假设它不应该有,但而不是自己修复代码,我解释了为什么它是错误的,并给出了更准确的指示。 发现新的工艺技能 今天,我每天都使用 Claude Code 和 Cursor。Cursor 的“Tab”功能仍然是最好的时间节省器,也是我最常用的功能。 我意识到写准确的提示实际上与编写代码非常相似,你学习模式,良好做法,以及检查提示是否正确的方法,就像你学习编程一样,最终你需要学习设计模式,测试,协作技术等。 区别在于,使用人工智能工具是如此之近,以至于没有许多最新的资源. 有很多垃圾和过时的技术. 我试图维护一份我已识别和测试的良好做法的文件,我们与同事分享。 还是一名软件工程师 我仍然是一名软件工程师,我认为这不会改变,我们的作用仍然是制作好软件,不管AI工具有多好,它们仍然只是工具,你可以分配任务的非常好的工具。 我给代理人任务,我可以不太思考,但这会花费我很多时间 - 非常系统的任务,一个小开发人员可以做正确的解释。 我为这个代理找到的最好的例子是将一个巨大的应用程序从一个UI库迁移到另一个。这不是一项艰巨的工作,但它需要大量的时间,而且完全没有兴趣。 即使代理人写出好的代码,也需要专业知识来确保它实际上是好的,甚至需要更多的专业知识来修复错误或纠正问题。 前方的不确定性 我认为使用人工智能意味着牺牲我对编程代码的热爱,以换取生产力,现在我很确定我错了,我喜欢与Cursor互动,更喜欢与Claude Code。 所以,是的,我绝对不知道我的工作将在五年或十年内是什么样子,这既令人兴奋,也让我有些焦虑。 AI工具是如此之新的,以至于今天任何人都可以在几周内获得最新的技能,回顾一下,如果我的初始怀疑实际上是合理的,考虑到这些工具以前是什么样子,或者我是否错过了一些重要的东西。 我知道的是,我在使用AI工具的旅程中仍然很早,我每天都在学习新东西。