返回顶部

未来“程序员”这个职业会不存在吗?

[复制链接]
simonzhdLv.9 显示全部楼层 发表于 2024-3-15 12:04:50 |阅读模式 打印 上一主题 下一主题
前两天,几位互联网大佬聊人工智能( AI )上了热搜,一些观点比较犀利,在软件行业掀起了大范围的热议,其中一大热点是:“程序员”这个职业会不会存在。去年就有惊人的观点:谷歌工程主管:程序员的职业生涯将在 3 年内被 AIGC 终结。
我先亮出自己的的观点:“程序员”这个职业会存在,未来人机结对编程是常态。也就是说,程序员会和基于大模型的编程助手/编程 Copilot 协同工作,以更高效的方式完成程序/软件的开发。见我的软件工程 3.0 宣言(附演讲 PPT )的第一句:
cxy.png
其实,我 5 年前就写过一篇文章:未来两年:人机结对编程(MMPP)将成为现实。当时,我过于乐观,但也不算乐观:2020 年北京大学推出了 aiXCoder 2.0 (版本到了 2.0 ,说明产品相对成熟了,其工作始于 2013 年),可以完成代码补全、代码评审等,开始实现人机结对编程。
今天的大语言模型( LLM )是一个概率模型、一个不确定模型,我甚至说过(见:软件工程 3.0 实践之路(一)最后一段):因为 LLM 的不确定性,有幻觉/幻想,倒是不适合做编程助手,更适合帮我们在一些不确定事务(股票投资、风险管理等)上做决策、可以获得最大的赢率。LLM 也更适合参与我们的头脑风暴活动、文化创意、设计等活动,这时幻觉/幻象成了优点、有创造性,例如挖掘用户的需求、应用场景、海报生成、视频创作、音乐创作等。
今天,我们确实越来越多地将 LLM 应用于代码补全、代码生成、代码理解、代码解释等工作中(见:软件工程 3.0 实践之路(六):LLM 驱动编程,银弹快来了吗?),它也可以生成单元测试脚本、测试用例。但所有生成的结果都不能直接采用,需要人工 review 。如果你的能力弱,就无法判定结果对与错,review 的效果就不理想。如果你只懂英文和中文,而不懂计算机编程语言,那根本无法 review 。对,像其他同学说的,你还要懂操作系统、懂数据库、懂通信协议、懂架构、懂算法和数据结构......这些都是软件开发的基础。
但是否有可能:生成的代码不需要人工 review 呢?在某些情况下也是有可能的,我的设想是:
  • 事先分别构建独立的开发 LLM (更多是代码正例)、测试 LLM (语料更多是反例,如缺陷报告、测试脚本、测试运行日志等)、业务/需求 LLM 等。
  • 让 LLM 帮我们实现 BDD 那样的需求( GWT 格式,即需求足够明确),这个过程还是人机交互的,需要业务需求专家确认结果,确保结果是正确的(相对的,不是绝对的)。
  • 从基于 BDD 的需求出发,开发 LLM 生成产品代码,测试 LLM 生成测试代码,两者独立工作,相互博弈、相互验证(类似 AlphaZero ,之前也有微软的论文做了局部验证)。这种情况下,几乎不需要人工参与(但很有可能是少量参与),让 LLM 相互验证,确保结果运行正确、通过测试。
  • 业务/需求 LLM 会参与全过程来验证,包括针对运行的程序进行验证。
“程序员” 职业肯定会存在,但部分能力弱的程序员会受到很大的挑战,而能力越强的程序员越安全。今年年初谷歌首席商务官发布备忘录、宣布再次裁员,而这次被「毕业」的员工,多数都是被 AI 淘汰的。《 24 年技术招聘现状》显示,已经有 21%的程序员担心失业。而 IMF (国际货币基金组织)报告显示,AI 会影响全球 40%的岗位,但同时它对每个人来说也是一个巨大的机会。例如:
  • 谷歌广告中,开始集成进大量的生成式 AI 功能。
  • 谷歌的聊天机器人,可以帮人们浏览大量的广告产品。
  • 谷歌的某 AI 系统,可以根据广告购买者给出的预算和目标,自行制作图像和文本。
  • 过去,提供销售指导、创建艺术资产、决定文本和布局这些工作都是人类做的,但是现在,AI 完成起这类任务可以每秒做一千次。
不过,面对 AI 的冲击,绝大多数( 70%)的开发者认为,AI 辅助工具能够帮助他们更好地完成工作。尤其是在以下这几个方面:
  • 编程辅助、代码自动补全与生成,例如用 ChatGPT 、GitHub Copilot 、CodeArts Snap 等。
  • 学习与答疑,不懂的问题找大模型。
  • 文档润色和生成,需求文档润色、个人总结和测试报告生成等。
在这之中,有大约 67%的开发者表示,自己已经将 AI 作为工作的一部分了。所以,我们可能会说,** 你的能力越强越安全,同时,你必须拥抱 AI 、拥抱 LLM ,不会用 AI/LLM 工具的人会被熟练使用 AI/LLM 工具的同行所淘汰。**
  • 根据国内招聘网站统计数据(以下相同)显示,机器视觉的薪资差距最大——达到了 62.44%。其中,要求 AIGC 技能的机器视觉招聘平均年薪为 48.45 万,而无此要求只有 29.83 万元。
  • 售前技术支持、大客户销售和平面设计这三个职位,是否具有 AIGC 技能也将带来超过 50%的薪资差异。
  • 对于企业来说,在同等条件下,有 57.04%会优先考虑那些具备 AIGC 技能的候选人。
  • 被开聊次数最多的是注明具有 AIGC 技能的算法工程师,高达 15.72 次,比未注明的同等职能多 6.21 次。
  • 从行业分布来看,新发职位主要集中于互联网、计算机软件、人工智能三大行业,占比为 29.65%、12.7%、9.96%。好消息是:说明互联网/软件职位在增长,软件定义世界、数字化转型,会带来更多的互联网/软件职位。
鉴于此,我们要尽早着手学习使用 AIGC 工具,从而增强自己的职场竞争力和求职议价权。
原文作者:Test Ninja

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则